Get field from currently inserted record

I've got the following problem with Delphi 2.0 under
Interbase and MS-SQL6.5:

When inserting a record into a table for which
a trigger exists -a trigger that generates an autonumber
key- it seems to be impossible to read this key
without closing and reopening the table. This
of course results in a massive performance drop.

Does anyone have a suggestion?