I use my own class for reading ini files, and it knows nothing about the BOM.
If a file starts with a system language identifier or newline, then all will be fine, BOM will be ignored. But if it starts with a section name, then the entire section will be read wrong, and part of the interface...