Wenn ZEOS/SQLite das unterstützen würde, könnte man das insert und das select last_insert_rowid() direkt in einem Rutsch ausführen.
Das würde auch das Risiko vermindern, dass über die gleiche Connection möglicherweise zwischenzeitlich in weiteres insert passiert und die ID verfälscht.
Zitat von
SQLite Dokumentation:
If a separate thread performs a new INSERT on the same database connection while the sqlite3_last_insert_rowid() function is running and thus changes the last insert rowid, then the value returned by sqlite3_last_insert_rowid() is unpredictable and might not equal either the old or the new last insert rowid.
Für
MySQL hab ich das vor ein paar Monaten mal eingebaut -
Link