Justamente, recno() te indica la posición del registro, no cuenta nada.
De todas formas, identificar un registro por su posición es realmente llamar al desastre, existen 100.000 formas de que eso se altere sin que vos puedas controlarlo (bueno, un poco exagerado 100.000 :-) )
Si llamas a los registros mediante sql, ya fue tu posición, si hacer un empaquetado de la base, fue tu posición, si se dañó y la recuperas, fue tu posición del registro, o no, es decir, tener que estar rezando para que el programa funcione adecuadamente y no porque el código lo haga.
Resumen, no uses la posición del registro, que se obtiene con la función recno(), para identificar elementos.
Capaz si indicas cual el es objetivo de hacer eso, se te pueda ayudar a hacerlo de mejor forma.