Hola radge, lo que yo haría es crearme un marcador para almacenar la posición actual del registro y despues restaurar a esta posición, esto se hace con un BookMark.
Código Delphi
[-]
var
Marca : TBookMarkStr;
begin
Marca := Query1.Bookmark; ........
........
Query1.Bookmark := Marca;
Saluditos