One other issue --
You have to be careful about managing the object references.
Consider this scenario.
Form A calls form B.
Form A passes along its reference to form B which saves it to a property.
If you try to release form A -- you'll have a dangling reference, and the form will remain on the form.
You may be able to prevent that in code.
In the 3rd scenario, in the Destroy method of the updated form, you should set the global variable to .NULL. again.
oUpdateMe = .NULL.
DODEFAULT()
Jay