Il mio consiglio è di utilizzare una stored procedure, che ti permette di avere tutti i comandi isolati in una unica sessione e utilizzando le transazioni anche di gestire gli errori.
Piccolo esempio (senza transazione):
codice:
CREATE PROCEDURE AggiungiUtente
@NomeUtente INT
AS
DECLARE @IdUtente INT
INSERT INTO UTENTI (UserName) VALUES (@NomeUtente)
SET @IdUtente = SELECT SCOPE_IDENTITY()
INSERT INTO AMICI (IdUser) VALUES (@IdUtente)
Ti consiglio di consultare i Books On Line di SQL Server guardando SCOPE_IDENTITY, @@IDENTITY e IDENT_CURRENT per valutare quale di questi fa più al caso tuo.

HTH