Geoff,
In your situation I do not use nested transaction, (i.e. only on transaction level) but I 'tableupdate' more often, and roll back if the tableupdate fails.
My syntax for tableupdate is also slightly different from yours:
=tableupdate(.t.,.t.,"alias")
To be on the safe side, also not that I do not use local views, but explicitly created cursors. I do not think it is relevant, but one never knows.
HTH,
Marc
Geoff,
If things have the tendency to go your way, do not worry. It won't last. Jules Renard.