Trenne dich einfach von deinem Event ich denke so wird dein OnClose aufgrufen..
Und versuche es mal testweise mit einer einfachen Message.
Prüfen ob das Parent existiert.. (Das kleine Fenster)
dann Post oder besser SendMessage WM_DESTROY an das jeweilige Fenster schicken.
Anschließend dein Fenster mit OnClose beenden wenn es nicht geht auch hier ein WM_DESTROY abschicken.
PS:
Aber auch ein DestroyWindow(dein
Handle) sollte die gewünschte Aktion auslösen.
Es ist von jeher ein Problem Delphi
VCL (Forms) innerhalb
DLL's zu implementieren.
Ich erstelle meine Fenster alle von Hand und kann die
VCL getrost vergessen.
Hatte noch nie Probleme damit ein Fenster(nicht Form) in einer
DLL zu beenden.
gruss