In a view there is a limit of 128 updatable fields (yes this has been a request for the new version) the only thing that you can do is possibly split the view by functionality or even by page if you have them.
I have run into this problem a few times, even when correctly normilised it sometimes happens. The sys(3055) and update key fields only will only help if the size of the view is large (ie long records and lots of them).
with the getfldstate() = 2 this means the field has been edited or deleted.
If you are just moving records i cant see why this would change unless you are forcing a tableupdate?
Hope this helps
Wayne Williams
Developer VFP