No manejo mucho ADO ni Rave, pero el error parece surgir en la sentencia
Código Delphi
[-]adoquery1.GoToBookmark(posregistro) ;
Coloca un punto de interrupción (
break point) en esa sentencia y cuando el programa se detenga ahí, revisa qué valor tiene la propiedad State de ADOQuery1. Esto para comprobar que la consulta siga abierta (puede que el proceso de impresión al final la cierre).
Por otro lado, recuerdo que esos componentes tienen una propiedad llamada CursorType, quizá su valor influya en el uso de marcas de registro (
bookmarks).