Не уверен, что полностью понимаю ваш вопрос. , , Похоже, вы пытаетесь закрыть родительское окно, когда окно сообщения все еще отображается?
В этом случае родительское окно владеет окном сообщения и не может получить фокус, пока окно сообщения не будет закрыто. Вы можете попробовать использовать
::MessageBox(NULL, L"oi", L"MessageBox", MB_OK);
вместо MessageBox, который создаст окно сообщения, которое позволит вам сосредоточиться на исходном окне (The :: означает использование глобальной версии пространства имен MessageBox, которая является собственным вызовом Windows, а не MFC).