Te respondo por acá:
No es que sea necesario hacerlo mediante getRows, el caso es que por alguna razón que cuando tengas tiempo deberías investigar, tu rs no te estaba regresando correctamente el valor de recordcount, por eso si querías iterarlo, no iteraba las veces que debería, en cambio con getrows, obtienes un arreglo a partir de ese rs y solo basta obtener el índice mayor de este arreglo y entonces iterarlo.
Bien que ya está funcionando....
Saludos