Hola.
Ahora comprendo el problema.
Puedes utilizar las tablas de sistema para identificar todas las claves foráneas de tu tabla, y después con un EXECUTE STATEMENT, eliminarlas.
Tablas de Sistema de Firebird :
http://www.alberton.info/firebird_sql_meta_info.html
En concreto, creo que necesitas :
SELECT RDB$INDEX_NAME
FROM RDB$INDICES
WHERE RDB$RELATION_NAME='Nombre de la Tabla'
AND RDB$FOREIGN_KEY IS NOT NULL
Funcionamiento del EXECUTE STATEMENT :
http://www.firebirdsql.org/refdocs/l...-execstat.html
NOTA: Esto lo puedes hacer, por ejemplo en un procedimiento almacenado (con un bucle FOR sobre el SELECT para las claves foráneas). Por lo que tu script daría de alta el procedimiento almacenado, lo ejecutaría con un "execute procedure" y finalmente lo eliminaría.
Saludos.