It really depends on how your environment variables were set. If, for example, you used the "SET" command in the command line, it only effects the current instance. On the other hand, commands such as "SETX" will permanently adjust the value of the environment variable. SETX will ensure that all future instances of cmd will see the update. It will not effect the local environment.
If the environment variable is set by another application and is not being updated, it is often easiest to either restart the "explorer.exe" process, log out and back in, or reboot. Essentially, you just need to tell explorer to reload the environment variables. If it is an application that you have developed, such as an installer, ensure that it is calling . This tells explorer to refresh its cache of the environment variables.SendMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment");
This is important because applications launched by another process inherit their environment variables from their parent. As such, if you launch cmd from explorer, you get the variables as explorer sees them.