Are the two forms modal?
If they aren't see if making them modal helps.
Also, another nasty way to work around this one if nothing else works is to use a global variable as flag. Do while in the init method of the second form until the first form executes the code in the destroy method needed and then set the flag. Then when the flag is set and the second form sees the flag set, it will continue processing. It's a nasty way to work around so I would try another solution first. Maybe someone else?
George.