Edgar:
Se me ocurre que puede ser una de dos cosas, basándome en que estás muy seguro de que es un .CDX:
1.
Seguramente no es un .CDX estructural. Un .CDX estructural tiene el mismo nombre del .DBF y se abrirá automáticamente cuando se abra el .DBF (si fuera un .CDX estructural no debería pasarte lo que mencionas).
2.
Seguramente no es un .CDX, si no un .IDX (o .NDX o similar). Un .IDX no se abre automáticamente cuando se abre el .DBF aunque tenga el mismo nombre del .DBF.
3.
Seguramente es un indexado con una extensión diferente a .CDX y a .IDX, en cuyo ccaso no sería adecuadamente reconocido por el motor stándard (poco probable, pero otra situación por analizar).
4.
Podrías solucionar tu inconveniente si desde VFP9 ---en donde estás abriendo el .DBF---, le indicas que abra el indexado, es decir en vez de sólo:
use ARCHIVO.DBF
append blank
replace CODIGO with M.COD
replace NOMBRE with M.NOM
haces
use ARCHIVO.DBF index EL_NOMBRE_DEL_INDEXADO1.EXT, EL_NOMBRE_DEL_INDEXADO2.EXT, EL_NOMBRE_DEL_INDEXADO3.EXT, EL_NOMBRE_DEL_INDEXADO4.EXT, EL_NOMBRE_DEL_INDEXADO5.EXT
append blank
replace CODIGO with M.COD
replace NOMBRE with M.NOM
--------------------------------------------------------------------------------------
¿Seguro que es un indexado estructural?
¿Seguro que es un indexado estructural con extensión .CDX?
--------------------------------------------------------------------------------------
No es un error programar en VFP9 --sobre una app en DOS--: estás mejorando la presentación de la interfaz. Las dificultades que se te presentan las resuelves como programador.
Aclara las dudas y nos cuentas.
--------------------------------------------------------------------------------------