Antes de nada gracias a ambos por vuestras respuestas:
 
Efectivamente lo que buscaba era el movelast junto con moveprevious: 
grs.movelast 
y luego en el loop al final en vez de movenext: 
grs.moveprevious 
pero la velocidad apenas a mejorado  
 
   
dazuaga, he probado lo que me indicas y no me ha dado error en esa página pero sí en otro lugar con lo que creo que después habrá que hacer algo. 
Qué es lo que hace TOP 3? Donde coloca el puntero? en el último y luego lo muevo hacia atrás o en el tercero desde atrás? o estoy perdido  
 
  
Gracias y un saludo