I have run into a similar problem a while ago, with the only exception that I
didn't call InitFileCommit() myself. Instead, the system crashed when shutting
down at some time after sending MSG_META_SAVE_OPTIONS to the App object.
The reason in my case was that something had actually been storing garbage to
the INI file (a Gen object which tried to save an uninitialized string buffer to
an INI key), and InitFileCommit() was doing a "sanity check" on the in-memory
copy of the file before writing it to disk.
As a "generic" idea, I'd try and step through all the places where your new keys
are written, to see whether the write calls are passed the correct arguments.
Alternatively, you could add an InitFileCommit() call after each of the calls
and see which one fails. Not recommended for the retail version, though... :-)
ciao marcus