Если цель - работа с переменными среды, а не работа с реестром, то - да. Потому что для вступления в силу значений из реестра программу придётся перезапустить.

Причём, не просто перезапустить, а перезапустить "с нуля". Дело вот в чём: если мы запускаем программу из уже запущенной консоли или какой-нибудь другой программы, то переменные среды будут скопированы из этой программы. И сверки с реестром не происходит. При запуске "с нуля" (или "из корня" не знаю, как правильно сказать применительно к windows), то есть, с рабочего стола или через "Run", переменные копировать неоткуда, потому они берутся из реестра. Всё это на основе наблюдений, и в мсдн-е, наверно, написано более аргументированно, однако, наблюдения эти меня не подводят, поэтому я им доверяю.