The beauty of INI files is in simplicity to write/read to/from them.  In KiX, that would be WriteProfilesString() and ReadProfilesString().  Other methods require you to parse the file.  If a line is to be replaced, then the whole file needs to be rewritten.  The best is to use INIs as temporary data collections.

Generally, one would not want to let users have enough rights to a data file to muck with and possibly wipe out large amounts of data.  The client writes out to INI files and then an admin script consolidates the info into CSV or DB format.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.