hz la consulta desde el motor de base de datos, sin el delphi y ve si te funciona
tip: usa alias. para tus campos y tablas
Código SQL
[-]
select distinct H.N_HAB from HABITACIONES H where H.N_HAB not in
(select R.NHABITACION from RESERVAS R where R.FECHA between :FI and :FF
union
select E.NHABITACION from ESTADIAS E where E.FECHA between :FI and :FF)
Y primero prueba en la base de datos.