If the biggest concern in this whole discussion is hand-editing of the config file by "non-techies", why not have a gui for editing the config? I understand the philosophy of allowing people to easily edit configs, but if we want to allow non technical users to make changes, maybe allowing them to directly edit a file by hand isn't the greatest idea.
Limiting the modification of the config file to methods provided by the developer eliminates the issues of validating the config at load time, and reduces support issues in the long run. I store my config data for Perl and C# apps in XML files, and have had no problems with the files being corrupted by an end user. If the user mucks around with the config files on their own, without making a backup first, and causes problems with the application, that is their own fault. They can recreate the configuration, or pay for my time to fix the file by hand.
just my 2 cents.