Заработало на 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 и оконного объекта. Но продвинуться дальше я затрудняюсь  
