depending in the version of the Forms and the environment, some triggers donīt fire when returning from a called forms, just try and check to yours (the technique works, I made this some times). For example, in my machine (client server env, NT 4.0 SP6, Forms 4.5) I just did :
PROG1 is the master, in Pre-Form I wrote :
:global.form_must_exit := 'NO';
in Prog1 there is a button calling prog2, in prog2 (my version donīt fires When-new-form-instance, too) I wrote a WHEN-NEW-ITEM-INSTANCE, at FORM LEVEL :
if :global.form_must_exit <> 'NO' then
message('Exiting ...'); pause;
and in prog3 I just setted the GLOBAL to YES, in a push-button. I just run it some minutes ago : all worked as expected.
OBSERVATION : this is NOT a step-by-step list, Iīm just showing a general technique, u will need to do some research.