Dracul, выполнить встроенную процедуру, которая добавит запись и сама при помощи GEN_ID(mygenerator,1) присвоит полю ID и вернёт значение
CREATE PROCEDURE MyInsert(
  параметр1 тип,
  параметр2 тип,
  параметр3 тип
    )
RETURNS (
    retID BIGINT
    )
AS
begin
   retID=GEN_ID(mygenerator,1);
   INSERT INTO MyTable (поле1,поле2,поле3,ID) VALUES (:параметр1,:параметр2,:параметр3,:retID);
   suspend;
end
ну а ежели известно, что после вставки записи никто не вмешается и не вставит ещё, то управление ID можно предоставить триггеру вставки, а значение генератора получить как
CREATE PROCEDURE GetMyGeneratorInsert
RETURNS (
    retID BIGINT
    )
AS
begin
   retID=GEN_ID(mygenerator,0);
   suspend;
end