Just a little warning about triggers:
If you insert to a table and generate a new Identity, but that insert fires a trigger that makes another insert on another table with an identity, the @@IDENTITY value you get back right after the first insert will actually be from the insert fired by the trigger.