I really don't see the reason for .config files to be read only at run time. Why should i have to create my own class to persist to the XML file, or worst, have a copy in memory of the values, since any changes I would make to the config file at runtime will only be live after application restart (This is ofcourse only regarding winform apps. web.config behaves differently).The point is, How is that not a part of the system? It seems very easy to implement, and its just another step in the config direction anyway.
One more thing: Unlike INI files, i see no way to use multiple values per config value. I'd have to implement IConfigHandler and all sorts of other adventures for that to happen.
Now, Are those things really asking too much?