Well, that is strange, because it doesn't fire the OnDestroy event...?
Look - here's what I do:
1) I do the "lazy" creation of the form object and I show the form:
if not Assigned( KontrahenciForm ) then
NewKontrahenciForm(KontrahenciForm, Pointer(Applet));
KontrahenciForm.Form.Show;
2) then I want to keep the form in memory and not waste time and resources for creating it again and again as it will be used many times by a user and also in a modal wersio, where the same form behaves differently (that's whay I do not want to open it always as modal)
3) When the user wants to get into the form again, the same code from 1) is executed but the form is not created again as it is supposed to be still in the device memory.
4) When I call Hide, first disadvantage is that OnClose is not fired and the second is that original problem with Menu of the paren form that is not refreshed.
I've tried the trick you suggested above it solves the problem of triggering OnClose, but the issue with Menu remains.
...and what about that form destroying - as I wrote at the top why in such case it does not fire OnDestroy?
Tomasz