Gracias por vuestras respuestas.
Había pensado en ejecutar instrucción por instrucción, aunque preferiría poder ejectuar todo un fichero de golpe (si es posible, claro

). Si por lo que sea se ha detectado un error al intentar procesar dicho fichero, nada de lo que se ha ejecutado debería ser validado, de manera que podamos intentar pasar el fichero entero de nuevo. Tengo esta idea porqué no hace mucho hice este mismo procedimiento en otro proyecto con PostgreSQL sin problema, mi duda es si lo podré hacer con Firebird.
Quizá lo que necesite es cambiar de componentes, si es así estaría dispuesto a hacer el cambio.
Cualquier ayuda será bienvenida. Gracias.