Libras..
 
Gracias por responder, como decía no soy tan experto en SQL Server, y me has puesto a pensar en eso de Isolation Level, por otro lado estaba pensando en un store procedure para almacenar. 
Estoy utilizando uno para ingresar clientes a la DB (es un proceso similar va a ser menos usado), y voy calculando el ultimo    
Código SQL:
Ver originalALTER PROCEDURE [dbo].[SP_INSERTCLIENTE]
@RAZON_SOCIAL NVARCHAR(300),
@DIRECCION NVARCHAR(300),
@CONTACTO NVARCHAR(90),
@CIUDAD NVARCHAR(50),
@PAIS NVARCHAR(50),
@ESTATUS NVARCHAR(50),
@CREADO_POR NVARCHAR(50),
@FECHA_CREACION DATETIME,
@ACTUALIZADO_POR NVARCHAR(50),
@FECHA_ACTUALIZACION DATETIME,
@TELEFONO1 NVARCHAR(20),
@TELEFONO2 NVARCHAR(20),
@EMAIL NVARCHAR(70),
@OBSERVACION NVARCHAR(350)
AS
    BEGIN
        #################################
        DECLARE @MAXCLIENTE INT;  
        SELECT @MAXCLIENTE = MAX(CLIENTE_CODIGO) FROM CLIENTES;  
        DBCC CHECKIDENT(CLIENTES, RESEED, @MAXCLIENTE)
        #################################
        
        INSERT INTO CLIENTES
        (RAZON_SOCIAL, DIRECCION, CONTACTO, CIUDAD, PAIS, ESTATUS,
        CREADO_POR, FECHA_CREACION, ACTUALIZADO_POR, FECHA_ACTUALIZACION, TELEFONO1,
        TELEFONO2, EMAIL, OBSERVACION
        )VALUES
        (@RAZON_SOCIAL, @DIRECCION, @CONTACTO, @CIUDAD, @PAIS, @ESTATUS,
        @CREADO_POR, @FECHA_CREACION, @ACTUALIZADO_POR, @FECHA_ACTUALIZACION, @TELEFONO1,
        @TELEFONO2, @EMAIL, @OBSERVACION)
    END
  
En la parte señalada obtengo el ultimo y hago un reseed y así puedo obtener un secuencial, no se si sea lo mejor para mi caso. 
Saludos