bueno, di con ello, así que no hago perder más el tiempo a nadie
El tema es que el recordcount no funciona bien, por lo que lo quité y me quedo solo con
while not SQLQuery.Dataset.Eof do
begin
....
end
Como comenté antes, estoy utilizando una librería para el acceso a datos que hizo un programador de donde estoy ahora, quizás en esa parte del recordcount hay algún tipo de bug, porque me devolvía -1 y sin embargo si hay información en el dataset. Gracias por todo y un saludo