Recordá que la función Gen_ID tiene un segundo parámetro, que es el valor a incrementar. El motor permite que este segundo parámetro sea negativo, con lo que efectivamente puede decrementarse el valor del generador:
Código SQL
[-]
select gen_id(generador, -1000)
from rdb$database;
si el generador tenía un valor de 5555, después de dicha instrucción tendrá un valor de 4555.
Hasta luego.