In the end, only the 'nuke' approach seemed to fix this.
I deleted the settings file completely, closed Visual Studio, deleted all
\obj and
\bin folders, and started again. This now produces single values in the
MyApp.exe.config file.
I think the whole system may have become confused by the fact that I attempted to use my own folder and namespace for the settings files. MSDN does say that the settings must be either in the
\Properties project folder or the root folder (
Application Settings ).