Ошибка заключается в том, что при значении переменной FlagSwitch=5 что видно в окне WHATCH, исполняется код под case 2: правда он совпадает с тем, который при FlagSwitch=5, но оптимизация полностью отключена.
Данная переменная присваиватется только 2 раза (оба на экране).
Это прерывание. Переменная статическая.
Ошибки затирания и прочая биллиберда - исключаются.
Можете прокомментировать ситуацию?
Если найду сам разумное объяснение происходящему - опубликую.
Эскизы прикрепленных изображений