Надеюсь, вы в курсе того факта, что это не намеченное поведение? Как вы извлекаете app.config во время выполнения? Как вы получаете значения из настроек? Файл app.config распространяется не как «app.config», а как «yourprogramname.exe.config». Который вы встраиваете?
Если вы встраиваете файл конфигурации, у вас нет возможности изменить значения. Почему вы используете конфигурационный файл вместо жесткого кодирования значений?
Когда вы говорите, что приложение работает нормально, когда вы выпускаете его сборку: я почти уверен, что значения взяты не из файла конфигурации, а из значений по умолчанию класса Settings.
Короче говоря, я сомневаюсь, что ваш подход сработает.