James - I know you want/need an answer from Kevin on this, but one thing in your message rings a bell with my experience that I thought might be useful to you...
Regarding the aspect of the bizobj's getting destoyed & cursors remaining open. I've since this type "messed up" stuff too, when I setup a form that did a lot with mutliple BizObj's, got it working, then decided to change the form's primary bizobj to one on the form itself instead of Thisform.oPrimaryBizObj pointing to first page on pageframe bizobj. It was ugly... I changed the primary biz obj and the consequences seemed as if my data environments got wacky. Once I changed that primary bizobj back to where it was things got better briefly... and I shortly thereafter corrupted the whole dang adataenv.vcx anyway & had to start over with bizobj configuration shit. After redoing all that, I still seen the occaisional cursor left open with just that one form, but since they got closed eventually when the form was destroyed I could live with it.
Roxanne M. Seibert
Independent Consultant, VFP MCP
Code Monkey Like Fritos