Como que eso que haces no lo veo muy correcto, que pasa si tienes muchos usuarios insertando a la base de datos, podrias obtener otro número que no fue el que te corresponde a ti, yo utilizo MS-SQL y lo hago desde un procedimiento almacenado.
Código SQL
[-]
declare @id
insert tabla (fecha)
values ('01/01/2005')
set @id = scope_identity()
select @id as ID
ejecutas el Proc desde delphi y recojes el resultado.
Saludos.
Vicente López.