Hola, pon un punto de ruptura en
SQLDataSet1.Active := True; y mira el contenido de
SQL_Text, a ver si es correcto.
Por cierto, te aconsejo otro método para trabajar con firebird, sigue
este sencillo y práctico tutorial, te aclarará mucho las cosas.