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
.