DLL like BPL (DllMain)
Currently, the initialization/finalization sections of Delphi units are executed from DllMain in DLL. This leads to all kind of problems with DllMain - here is just one example with Interbase components: http://qc.embarcadero.com/wc/qcmain.aspx?d=15944
The BPL, on other side, have a separate functions for it (Initialize/Finalize), so there are no problems with them, but.... BPL is BPL. There are a lot of work to make BPL behave like pure DLL, with no affinity to Delphi.
The suggestion is: allow to declare analog of Initialize/Finalize function for DLL too, so this work won't be executed from DllMain.