SCATTER MEMVAR MEMO and GATHER MEMVAR MEMO seem to be fine (we have thousands of users), but be careful you are not using any m. memory variables as this will overwrite them. Hwever you could save them into a cursor while you are doing this then restore them later.
The problem with SCATTER TO
and INSERT - SQL seems to be something to do with array handling and the way the arrays deal with the memo field blocksize though I couldn't be sure.
With SCATTER MEMVAR etc the data is held in an m. memory variable which is direct and does not seem to have the same trouble.
In some cases I have reverted to direct REPLACE eg
SELECT newtable
APPEND BLANK
REPLACE var1 WITH oldtable.var1
REPLACE var2 WITH oldtable.var2
etc
This is always 100% Ok and got me out of many a bind (though it's more work)
Cheers
John
To move a mountain start with the smallest stone