Se logo após o post você pegar o valor tipo.
TblClientes.Post;
Codigo := FunctionExecutaSQL('select COALESCE(gen_id(genClienteCodigo, 0),
1) from rdb$database');
Não resolve?
Estou usando assim, você já teve problemas com isso ou esta fazendo
uma hipótese?
Se alguém souber uma maneira melhor fico grato.
--
Levy Moreira