Chris,
You should be doing the SET MULTILOCKS ON in the form.Load(). I think the multilocks should be in effect before any of the tables are opened. Are you sure the form data environment is empty? In fact all of the DS dependent SETs should be done there.
>*!* SET MULTILOCKS ON
>*!* CURSORSETPROP("Buffering", 5, "sysoptions") && set optimistic row buffering on
>*!* LIST STATUS TO D:\vfp8projects\datahub\errors\comstatus.txt
Is this error occuring in the VFP8 beta? If so you need to post this in the relevant section.
Other than that I don't really see anything wrong with the code you've posted.