Para insertar una fila y obtener su identidad, no necesita bloquear todos los demás comandos. Simplemente use una transacción en combinación con SCOPE_IDENTITY
:
BEGIN TRAN;
INSERT INTO MyTable (MyColumn)
VALUES ('MyValue');
SELECT SCOPE_IDENTITY();
COMMIT TRAN;
Más sobre SCOPE_IDENTITY
en MSDN
.