Este error no tiene que ver con el SQL, sinó que tiene que ver con el componente.
Supongo que antes de ejecutar el SQL debes "preparalo".
Supongo que al ser un Query dinámico (creas el SQL a medida que ejecutas el programa) el componente necesita que se prepare para saber qué parámetros necesita, que campos devolverá, su tipo, estructura y demás.
Prueba con esto:
Código Delphi
[-]
IBQuery4.Prepare;
IBQuery4.Open;
end;