D2 -> D3 DLL and Application.Handle

I have a D2 DLL that works fine.  In this DLL I
set it's application.handle to the window handle
of the calling application.  By doing this, my forms
are all reparented properly.  Now, when I recompile
this code in D3, I encounter a problem.

When the DLL's form closes, the caller's form is
hidden by a SetWindowPos() call within the VCL
unit FORMS.PAS.  This happens in one of the
calls to UpdateVisible().  If the calling application
is a Delphi app, things seem to work fine.  But
a non-delphi application I have seems to cause the bug.

I can simulate the behavior using a Delphi app if
I happen to pass in the handle of the main _form_
instead of the application.handle.

Again, this code worked fine in D2, but not D3.

Does anyone have an idea about the cause?

Thanks in advance,