Ну вот, совсем другое дело.

Есть такая опция компилятора: M2BASE16. По умолчанию она выключена. Если её включить, то тип INTEGER в языке Модула будет 16 бит, а по умолчанию - 32 бита. См. также опцию M2ADDTYPES.

В реализации XDS Oberon тип INTEGER всегда имеет размер 16 бит. Windows ожидает массив 32-битных чисел. В обероновских исходниках в данном случае следует использовать тип LONGINT.