Диспетчер кучи запрашивает для себя у ОС страницы (VirtualAlloc) с флагом на чтение-запись.
Винда всегда разрешала и выполнение данных как кода на таких страницах (т.е. просто плевала на отсутствие флага "исполнение").
Но с какой-то версии Винды (с ХР?) появилась галочка, которой пользователь указывает операционной системе не разрешать такое выполнение. Что, разумеется, приводит к неработоспособности тех программ, которые не используют флаг "разрешить выполнение".