Because Registry / gconf et. al. provide cheap notifications of when a specific key changes. This is the reason that a registry-type solution is useful, as well as helps performance.
Your solution means that every app interested in a setting has to put a file change notification on the conf file, then reparse the entire thing and diff it to see what changed.
So expose that in a library. Most conf files are one of a few common formats, and it shouldn't really be a problem to reparse on change. The client app wouldn't have to know anything about the file, even, just get settings back in some standard format. That library seems like a weekend project for someone, with format plugins and other goodies to follow.
Your solution means that every app interested in a setting has to put a file change notification on the conf file, then reparse the entire thing and diff it to see what changed.