Still, you are able to create more than one index on a cursor also only using NOFILTER. READWRITE only solves your problem of modifying the DBF (TMP) file itself, the error is about this file and not the cdx file.
So I don't know what is the help referring to when it says, you can create more than one structural index on a cursor only when using the READWRITE argument. This is nonsense.
How big nonsense this specification is, becomes clear, when you read the index file and tag terminology in the topic
Visual FoxPro Index Files:
help said:
Structural compound index (.cdx) files - Opens and closes with the table automatically. Uses same base name as the table file name.
By this definition there always only is one such file possible, because you can't have two CDXx files with the same name, but you can have as many index tags as are fitting in the 2GB limit within that CDX file.
And the help topic tells about secondary CDX and IDX files, too, secondary CDX files are called Nonstructural compound index files, and the difference just is, you need to open/specify this CDX file explicitly when SET ORDER TO TAG OF another.cdx than the structural compound index cdx.
I bet you don't get the error with the secondary INDEX ON, you get the error later at another part of your code. It's simple to verify that, just add a MessageBox after the first and after the second INDEX ON. If you get the error after the first message and before the second, it surely comes from the second INDEX ON, I'd be surprised about that and would like to know what VFP version and service pack level you're using. It clearly does not happen in Visual FoxPro 09.00.0000.7423 for Windows (SP2 with the latest hotfix).
Bye, Olaf.