И на всякий случай, вредная функция =)
// get the ID of the last inserted row
function GetLastID(Query: TADOQuery): Integer;
begin
try
Query.SQL.Text := 'SELECT @
@IDENTITY';
Query.Active := True;
Query.First;
Result := Query.Fields.Fields[0].AsInteger;
finally
Query.Active := False;
end;
end;