WIN32 API также должен быть независимым от платформы. Когда компилятор подстраивается под разные размеры слов, типы также могут меняться.
Например, на 16-битных платформах:
typedef WORD unsigned int;
typedef DWORD unsigned long;
На 32-битных платформах:
typedef WORD unsigned short;
typedef DWORD unsigned int;
Это пример, ваш пробег может отличаться.