I found that when running the Debug version it always rebuilds and auto increments the version. The new version expected the user.config file to be in C:\Users\Adrian\AppData\Local\Company\Project\Version. As this was a new version, the file didn't exist and I got the defaults again. You can check for this by changing a setting, saving, and then manually run the exe again (in the bin\debug\... folder). If this is your problem then it will have remembered your change.
To fix this you can use the Settings.Default.Upgrade()
Method. The potential problem with this is that if you run it every time it will always replace your most recent settings with old ones.
SOLUTION
Add a new setting using the settings editor:
SettingsHaveBeenUpgraded : bool : User : false
In Program.cs Main() add:
if (!Settings.Default.SettingsHaveBeenUpgraded)
{
Settings.Default.Upgrade();
Settings.Default.SettingsHaveBeenUpgraded = true;
}
This will ensure the upgrade only happens once.