Si el componente que estás usando tiene alguna propiedad del tipo "FetchAllRecords" y está a True, entonces es el motivo por el que te funciona el recordcount.
Pero ten en cuenta que eso es sólo por lo que he comentado, por el valor de una propiedad, ya que un select a una base de datos no puede saber cuántos registros involucra, salvo que vaya hasta el último, es algo elemental que verás en cualquier tutorial sql de cualquier base de datos.
Tenlo presente, y no te encabezones
, RecordCount
NO devuelve el número de registros. Salvo que sea una tabla plana, que no es el caso.