Doug,
>I'm not really sure why this change (from optimistic row buffering) is needed.>
If you have a cursor set to table buffering, whenever you move the record pointer VFP issues a TABLEUPDATE for you...which is usually a bit over-helpful! In a table buffered cursor, you can move the record pointer with impunity...VFP doesn't try to update the source tables.
Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com