Mr Ivan:
>I've noticed a Form.Refesh is called every time the form is closed. Is there a way to prevent this from happening ?
The form.refresh() is happening because CM, on closing a form checks to see whether there are any changes to the data. Even if there are no changes, it call the form's save method which in turn calls the form's RefreshAll() method. This is where you form.Refresh behaviour is coming from.
What you could do is subclass the form's QueryUnload method and before you call dodefault(), the could manually close the "kids". I am not sure from your post whether the "kids" are separate forms or, grids on the parent form. Either way, you can close things down yourself, be sure to save any data (if appropriate) and then return dodefault(). In this case, by the time the CM code calls save->refreshall, you would have tidied up yourself and all of the requerying/refreshing of your grid data (if that is what is happening) will not happen because you took appropriate action in QueryUnload.
HTH
-=Gary