Det jag tror är felet är att ResourceID är av typen HANDLE och i det här fallet måste den vara en sträng. Hur sjutton det ska gå ihop så att det fungerar har jag ingen aning om. :l
Felet är inte att du skickar ett tal istället för en sträng, för det är helt i sin ordning. Du kan använda makrot MAKEINTRESOURCE för att kasta om till rätt typ.
Felet du gör kan vara att du skickar NULL som HINSTANCE. Skicka istället den HINSTANCE som gäller för din process. Du kan ta den ifrån WinMain-funktionen eller anropa GetModuleHandle med NULL som parameter.
Om det inte är det som är felet kan du prova att analysera returvärdet och anropa funktionen GetLastError för att få reda på felkod.