Ich habe gerade unter Linux mit Lazarus folgendes ausprobiert:
INSERT INTO Person(Name,Vorname) VALUES(:name,:vorname) RETURNING ID
Delphi-Quellcode:
SQLQuery.Params.ParamByName('Name').Value := 'Mustermann';
SQLQuery.Params.ParamByName('Vorname').Value := 'Max';
SQLQuery.Open;
ShowMessage(SQLQuery.FieldByName('ID').AsString);
Siehe da, mir wurde die ID ausgegeben. Unter Delphi dürfte das (je nach Zugriffskomponenten) ähnlich aussehen.