Bob,
I'd like to mention one possible gotcha.
@@IDENTITY is scoped to the connection, as you mentioned. If the table that you're adding the new row to (we'll call it table A) has an insert trigger that causes a new row to be placed into another table (we'll call it table b - which could be the same table if we allow recursive triggers...) and that table (b) has an IDENTITY column, @@IDENTITY will have the contain the value from table b.
-Mike