Acabo de editar mi mensaje anterior, ya que primero lo hice pensando en un SP de selección y usaba query1.Open
Al realizarlo por SP de ejecución, hay que llamar a Query1.ExecSql (o usar un IBStoreProcedure, que es exactamente lo mismo). Si no recuerdo mal, (y dado que no te funciona

) habrá que usar Fieldbyname para leer el parámetro de salida.
Saludos