Muchísimas gracias por el tiempo dedicado.
Lo cierto es que después que haber hecho ese código me seguía picando la curiosidad y continué buscando info del GetRows.
En mis búsquedas vi una forma que me gustó en principio, y era que el rs se carga en una variable de sesión y así en las sucesivas llamadas a la página no era necesario ejecutar la consulta, ¿cómo lo ves?.
Creo que uno de mis fallos (aparte de alguna confusión de código entre cliente/servidor a causa del bloqueo mental), es que siempre he pensado que un RecordSet era en realidad una especie de "tabla virtual", y que los métodos MoveNext, MoveLast, rs("Campo")... actuaban sobre ella, y no sobre la tabla física.
Al final, hice el código de tres formas diferentes, y me he quedado con GetRows.
Y para finalizar sólo me restan dos preguntas, si me permites, y no te molesto más:
1º) ¿Cuántos registros puedo cargar en el vector?, he leído que miles y miles sin problema para el servidor.
2º) Tampoco le veo mucho sentido a realizar un paginado registro a registro. Se me ocurre que podría guardar en un campo oculto del formulario el valor de AbsolutePosition, ¿cómo lo ves?.
Y lo de "Mis 02/100" me lo traduzca por favor
Muchas gracias de nuevo.