Es mejor usar TSQLQuery que TSQLStoredProc cuando vas a obtener un cursor (TSQLStoredProc es para ejecutar un SP que no devuelve resultados o que los devuelve como simples parámetros de salida, no como filas).
Por otra parte, recuerda que los conjuntos de datos DBX (TSQLXXX) son unidireccionales y mientras no hagas "Next", no traerá la siguiente fila (lo normal es acompańarlos con TClientDataSet).
