Если вы откроете командную строку (cmd.exe), а затем измените переменные среды, этот экземпляр cmd.exe не увидит эти изменения. Если вы откроете новый экземпляр cmd.exe, он увидит новые изменения. (При условии, что вы изменили переменные среды пользователя, а не системные).
Я не знаю, как имитировать это в .NET. Что вы можете попробовать, так это создать новый домен приложений и посмотреть, работает ли он.
Если этого не произойдет, вы можете попробовать и посмотреть, что произойдет, если вы создадите новый экземпляр вашей сборки, запустив новый процесс. В вашем случае это может означать, что вам нужно изменить Automated Build System, чтобы запускать сборки нового проекта как новый процесс.
Я знаю, что это не прямые ответы, но, возможно, они дают вам представление о том, как действовать.