Eigentlich heißt das entsprechende Makro MakeIntResource und nicht MakeIntAtom, aber die beiden machen sowieso das gleiche.
Ich glaube, dass IS_INTRESOURCE in der
MSDN falsch deklariert ist. Makros kennen ja sowieso keine Typen, insofern ist die Parameter-Deklaration obsolet. In einer Übersetzung solltest du den Parameter als Cardinal deklarieren, denn wenn man ein Word 16 Bytes nach rechts shiftet, kann nur Null rauskommen. Probiere es damit nochmal.