A few questions first:
If on a network or accessing remotely, do you have the file permissions to both read and write? (Will it reindex locally but not on the server?) Sounds silly to ask, but in some other programming languages that message has been a rights issue.
Is the table opened exclusively?
Are you sure all the data in the table's fields that get indexed are valid? If there are non-ASCII charaters in the indexed fields such as any character values below 32, this can mess up indexes. Especially troublesome are the nulls, CHR(0).
Okay, lets walk through the replacement of indexes in the MDX:
USE <tablename> EXCLUSIVE
Repeat this step until all TAGs are removed/deleted:
DELETE TAG TAG(1)
Now, the MDX should no longer exist. For good measure, lets USE he table all over again
USE <tablename> EXCLUSIVE
Now recreate each index, as many as needed:
INDEX ON <fields> TAG <indexname>
Did it work? If not, then try copying the records to a new table, perhaps something is scambled in the original table:
USE <tablename> EXCLUSIVE
SET DELETED OFF && do this to preserve any deleted records
COPY TO <newtable> WITH PRODUCTION && new table/indexes
Let us know what works... dbMark