Не публиковать в TApplication, а только в главной форме и давать вашей главной форме значимое имя:
const
DLL_MESSAGE = WM_APP + 100;
type
TMyDLLMessageReceiverForm=class(TForm)
procedure ReceiveTheDLLsCustomMessage(var Msg: TMessage); message DLL_MESSAGE;
end;
Из библиотеки DLL:
var
WndHandle: HWND;
...
WndHandle := FindWindow('TMyDLLReceiverForm', nil);
if WndHandle <> 0 then
PostMessage(WndHandle, DLL_MESSAGE, SomeParam, SomeOtherParam);