Para inserir uma linha e obter sua identidade, você não precisa bloquear todos os outros comandos. Basta usar uma transação em combinação com
SCOPE_IDENTITY
:BEGIN TRAN;
INSERT INTO MyTable (MyColumn)
VALUES ('MyValue');
SELECT SCOPE_IDENTITY();
COMMIT TRAN;
Mais sobre
SCOPE_IDENTITY
em MSDN
.