Boa tarde.
Já vi, não consigo me lembrar onde, um artigo para validar registros ao mover-se de um registro para outro numa grid. Este artigo apresentava código a ser utilizado nos metodos before e after da grid não permitindo a movimentação para outro registro enquanto houvesse uma inconsistencia
O artigo não sei onde está, mas pra impossibilitar o grid seja rolado você pode usar NODEFAULT.
Grid1.BeforeRowColChange
if !Validado
NODEFAULT
endif