child form in DLL disappears when Parent property is set

Greetings fellow Delphians...

I have a form in a DLL that needs to be a child
of the application's main form. Everything works
fine until I set the child form's Parent property,
at which time the child form disappears! I've
tried InsertControl(ChildForm) from the main
form with exactly same result.

I'm using the following code in the child form:

procedure TfmChild.CreateParams(var Params : TCreateParams);
begin
   inherited CreateParams(Params);
   with Params do
      begin
         Style     := (Style OR WS_CHILD) AND NOT WS_POPUP;
         WndParent := MainForm.Handle; // "MainForm" passed via DLL interface
      end;
   //Parent := MainForm;  // <-- causes form to disappear!
end;

Why does setting the Parent property cause the form to
disappear?

(Just as a side note, because the child form is not in the
list of the main form's child controls, it never receives
CM_MOUSEENTER and CM_MOUSELEAVE messages)

Thanks,
Chris Wallace