No entendí exactamente lo que quieres hacer. Según lo que entendí, te comento:
Tu grid muestra los registros que en el campo mencionado contiene .F., por lo tanto, al momento de seleccionar el campo (marcarlo o ponerlo en .T.) Automáticamente será filtrado cuando te cambies de registro o cuando cuando te muevas en el grid. Y por lo tanto no tendrás el registro disponible para validación.
Mi sugerencia es:
Crea un cursor temporal en memoria con todos los registros de tu tabla original que quieras editar o marcar, incluyéndoles el campo para la marca, algo así:
Select mi_tabla.*, .f. as marca where <aquí la condición de selección de los registros> into cursor mi_tabla_temporal readwrite
Cambia tu grid para que el "record source" sea este cursor. Te recuerdo que el cursor lo tienes que crear en el método load o en el init del formulario, porque de otra manera el grid no te lo reconocerá a menos que lo definas luego específicamente en el grid.
Ya con esto, puedes moverte libremente en el grid sin que desaparezcan los registros marcados en .t. y podrás hacer una validación en un botón fuera del grid.
Si quiere algo más interactivo, por ejemplo, cuando selecciones o marques uno registro, en ese momento se valide si hay otro marcado y le quite la marca al que ya estaba, puedes hacer lo siguiente:
En el método click del checkbox, pones algo así:
if mi_tabla_temporal.marca
vl_recno=recno()
replace all mi_tabla_temporal.marca with .f.
goto vl_recno
replace mi_tabla_temporal.marca with .t.
endif
Con este código te aseguras que sólo haya un registro marcado.
Luego, para guardar los cambios, tienes que "barrer" la tabla temporal para modificar en la tabla real los datos que quieras.
Este método te sirve, porque si quisieras deshacer los cambios, sólo pones un botón que vuelve a cargar los registros en la tabla temporal SIN guardar las modificaciones y no ha pasado nada. Para hacer esto solo tienes que poner en un botón de deshacer algo como:
Select mi_tabla_temporal
delete all
insert into mi_tabla_temporal ;
Select mi_tabla.*, .f. as marca where <aquí la condición de selección de los registros>