Roi,
You should NEVER have a transaction that encloses a whole form. Transactions take file locks and hold them until the trnasaction ends.
For your situation you could use a customer form property of the child form, say named OldData. In the Init of the form you can;
SCATTER MEMO NAME Thisform.OldData
Then let the user do whatever they want, if they choose cancel in the form you simply GATHER MEMO NAME Thisform.OldData.