Здравствуйте, WolfHound, Вы писали:
WH>Ты бы пост перечитал.
перечитал

Был еще такой случай "оптимизации": VS7.1 "оптимизировал" функцию случайного числа, так что она в некоторых случаях не выполнялась несколько раз подряд, и выдавала один и тот же результат.
Random random;
int i= random(); //random.operator()
int j= random();
int k= random();
assert(i == j && k == j);
Симптомы были те же — неправильная работа только в release и только в VC7

.
Помогла замена внутреннего счетчика на volatile (может, этот бубен поможет и автору?).
Еще можно попробовать запустить на других компьютерах / OS, может это несервиспаченный Windows глючит? Попробовать откомпилировать на другом компиляторе (IC++, VC71). Попробовать отключить используемые библиотеки — может в них создаются потоки, которые гадят в память? И свои потоки тоже
А вообще, надо резать проект целиком до минимального кода... Правда, это может занять немало часов.