Creating datamodule in DLL hangs de{*word*81}, works when run from EXE

I have a form in a DLL that creates two data modules in the OnCreate
event.  The form itself is created in the exported Execute procedure.

If I try to trace into the code I can trace up to the Create of the
first data module and then the de{*word*81} will hang.  If I run the DLL
from an external program the data modules are created without problem.
 (I can verify this using CodeSite)

I am trying to track down a bug that only occurs some of the time.
Not being able to debug the DLL is costing me a lot of time.

The data module creation code looks basically like this:

DM1 := TDataModule1.Create(nil);
DM2 := TDataModule2.Create(nil);

The DM1, DM2 variable are private variables of the form.  I have tried
passing the form as owner and tweaking the order of events, but all to
no avail. To me it does not seem to be a problem with the code itself,
but with the IDE.

This is in Delphi 3.02 (and cannot be done in any other version
because of limitations of the current architecture). The database
connection is being shared through packages.

Since I don't have Turbo De{*word*81} or the means to use it, I'm afraid
this one is beyond me. Any help would be greatly appreciated.

Thanks,

David Beardsley