What is non-trivial is the InsertID feature of MySQL. There is nothing similar in Firebird and it needs to be created by hand.
Firebird 2 introduces RETURNING clause for INSERT statements, so you can get the inserted value in a single go, just like with MySQL and some other database systems:
INSERT INTO t1 (…) values (…) returning pk;
PK
===========
32
MySQL is for <i>children</i>
Please firebird community, stop wasting time in trying to prove your superiority.
mysql3 was crap, mysql5 isn’t. (And shouldn’t be blamed for any missing backup-plans)