>Set rs = cn.OpenResultset(SQL, rdOpenKeyset, rdConcurRowVer)
My problem ended up being the CursorDriver type. This setting fixed it all.
cn.CursorDriver = rdUseOdbc
Oh, and according to the knowledgebase article:
FoxPro 2.x tables can be opened as read/write under DAO. Following the same procedure for Visual FoxPro tables will open the tables as read only. ISAM drivers are being used under DAO. The following method will open free tables and tables that are part of a Visual FoxPro database as read/write with RDO. In addition to providing read/write access to these files, the ODBC driver also provides greater performance than the Installable ISAM driver.
Jay Shepherd