You shouldn't need to hack around programatically to get this working. While I haven't done this in a while, I remember that I used to have to call
::SetParent
to set the parent dialog, this including the child into the normal flow. Something like this
::SetParent(m_embeddedDialog->GetSafeHwnd(), this->m_hWnd);