Заработало на vs 2010 professional sp1 !
Что же касается express, тут все печально.
Вылет происходит при создании окна. В рабочей версии до этого места
HWND hWnd = ::CreateWindowEx(dwExStyle, MAKEINTATOM(atom), szWindowName,
dwStyle, rect.m_lpRect->left, rect.m_lpRect->top, rect.m_lpRect->right - rect.m_lpRect->left,
rect.m_lpRect->bottom - rect.m_lpRect->top, hWndParent, MenuOrID.m_hMenu,
ModuleHelper::GetModuleInstance(), lpCreateParam);
ATLASSERT(hWnd == NULL || m_hWnd == hWnd);
m_hWnd = 0; hWnd =0; после m_hWnd = hWnd = 0x....
В не рабочей до m_hWnd = 0; hWnd =0; после hWnd = 0; m_hWnd = 0x.... (если тупо приравнять, слетает на проверке IsWindow)
Вероятно, проблема в хитрой махинации с hWnd окна, происходящей в atl, для привязки hWnd и оконного объекта. Но продвинуться дальше я затрудняюсь