まあ、別のスレッドでウィンドウを表示することは大したことではありません! UI スレッドで常にUI を表示します。ワーカー スレッドが何らかの UI を表示する必要がある場合、UI スレッドに (安全な方法で) 通知してダイアログを表示させる必要があります。
WS_EX_APPWINDOW
スタイルを削除することは、ここでは解決策ではありません。正しく行わないと、奇妙なデッドロックが発生する可能性が高くなります。
スレッドがメッセージを UI ウィンドウに投稿し、そこで処理できるようにします。
#define UWM_SHOW_UI (WM_APP + 1)
//
// In your thread procedure:
PostMessage(pThreadData->m_hWnd, UWM_SHOW_UI);
WaitForMultipleObjects(...); // Wait for both exit event (set in `OnDestroy`) and continue event.
// Handle signal... Exit or continue?
//
// In your main window message handler:
void CMyWindow::OnShowUI(WPARAM wParam, LPARAM lParam)
{
CMyDlg dlg(this);
dlg.DoModal();
//
SetEvent(m_hEventContinue); // Continue thread!
}