Efectivamente es la mas limpia (hablando en recursos) pero tambien es mas compleja porque los nombres de los campos son menos descriptivos que
rs("campo")
Son dos cosas diferentes:
Recorrer y almacenar el recordset con GETROW
Paginar el resultado
Son cosas que no tienen nada que ver aunque pueden ser complementarias, pueden hacerse una independientemente de la otra
De todas formas si vas a paginar el resultado en bloques de 20 , 40 o 100 registros tampoco vas a tardar tanto tiempo en recibir los datos.
Tu mismo.