Pues a mí el RecordCount solamente me ha funcionado usando un tipo de cursor adOpenDynamic, en cualquier otro tipo de cursor me devolvía -1.
Podés probar con eso a ver si soluciona tu problema, y si no lo soluciona entonces deberías de chequear tu RecordSource, ese es otro posible error.
Espero que eso solucione tu problema.
Salu2