This construction is case sensative:
class MyMapWindow : MDIChildWnd
{
declare MyMapWindow(); // not myMapWindow !!!
declare _MyMapWindow();
}
It was a hard error to catch!
Yes, because the compiler doesn't call the name of your function, it calls ClassName@ClassName. And NASM is case sensitive, so it doesn't work right. Maybe the compiler would correct that for us... ;)