I need to get a value of an autoincrement after its posted. I'm obtaining a Null value instead the inserted ID in the field Result. It's URGENT!!!!!

This is my code:
------------------------

function TMySQL4.CreateRecord(conn: TCustomConnection; table: string;
Values, Fields, ResultFields:array of string;Results : array of POleVariant ): HRESULT;

var
adoTable: TADOTable;
i:integer;

begin
result := E_FAIL;

adoTable:=nil;

try
adoTable := TADOTable.Create(nil);
adoTable.Connection := TADOConnection(conn);
adoTable.TableName := table;
adoTable.Active:=true;

if adoTable.State in [dsBrowse] then
begin
adoTable.Append;
for i:=0 to High(Fields) do
begin
adoTable.FieldValues[Fields[i]] := Values[i];
end;

adoTable.Post;

for i:=0 to High(Results) do
begin
Results[i]^ := adoTable.FieldValues[ResultFields[i]];
end;
result := E_OK;
end
end;
----------------------

Thanks a lot!