Одна вещь, которая приходит на ум, - это возможная разница в распределении небольших блоков памяти. У меня есть смутное воспоминание о том, что VC6 по умолчанию использовал кучу небольших блоков для значений до 1016 байт. Эта статья MSDN , похоже, указывает на то, что она зависит от ОС. Но я думаю , что это не зависело от ОС с VC6. В любом случае, если ваше приложение является malloc / free / new / delete тяжелым, вы можете проверить, чтобы убедиться, что оно не приводит к фрагментации со временем.
Кроме того, я не знаю о конкретных проблемах. В преобразовании MSVC6 в VS2008, которое я делал в прошлом году, основная часть работы была посвящена созданию (много изменений ATL). После сборки тестовые наборы работали без ошибок. Поэтому вы можете убедиться, что при конвертации они используют хороший уровень предупреждения (по крайней мере / W3). Игнорирование предупреждений было бы хорошим способом вызвать проблемы.