I've done much research on this, and posted below the results of my work. To run the code and help me perfect this, you can create a new project and add a MDI form, Form1 as child, and Form2 (not a child). Keep the default names and properties. Add this code to the MDIForm1.

This is the best I could do. For some reason, Form2 doesn't act like Form1 after I set it's parent to be MDIForm1 and changes a few properties. This is what I think the problem is, the child knows it's a child of the MDIForm, but the MDIForm doesn't know it has a new child, so it doesn't send child-specific messages to the child window. I would REALLY appreciate some help here, because it is important that I get this down.

Code:
Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Const GWL_HWNDPARENT = -8
Const GWL_ID = -12
Const GWL_STYLE = -16
Const GWL_EXSTYLE = -20
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const WS_CHILD = &H40000000
Const WS_EX_MDICHILD = &H40
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const SWP_DRAWFRAME = &H20
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Sub MDIForm_Load()
    Form1.Show
    Form2.Show
    SetWindowLong Form2.hwnd, GWL_STYLE, GetWindowLong(Form2.hwnd, GWL_STYLE) Or WS_CHILD
    SetWindowLong Form2.hwnd, GWL_EXSTYLE, GetWindowLong(Form2.hwnd, GWL_EXSTYLE) Or WS_EX_MDICHILD
    SetWindowLong Form2.hwnd, GWL_ID, 32769
    SetParent Form2.hwnd, GetWindowLong(Form1.hwnd, GWL_HWNDPARENT)
    SetWindowPos Form2.hwnd, 0, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_DRAWFRAME
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
    Unload Form1
    Unload Form2
End Sub