MySQL bietet dazu das Statement
Delphi-Quellcode:
ZQuery1.SQL.Text:='INSERT INTO....';
ZQuery1.ExecSQL;
ZQuery1.SQL.Text:='SELECT LAST_INSERT_ID()';
ZQuery1.Open;
myData.FID:=ZQuery1.Fields[0].AsInteger;
Ist connectiongebunden und somit für die jeweilige Aktion auch immer eindeutig - sprich, es kann dir bzgl. der ID keiner dazwischenfunken.
Gruß Igotcha