Por lo que pude ver el problema viene de el paramtro @fecha_proceso pero no lo solucione aun.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--
-- CREATE Procedures
--
ALTER PROC [dbo].[sp_l_comis_acreditadas](@cod_suc_i NUMERIC(4),
@cod_agente_i INT,
@fecha_proceso VARCHAR(10),
@inivel NUMERIC(2))
AS
SET NOCOUNT ON
-- VARIABLES
DECLARE @fecha_corte VARCHAR(8),
@fecha_corte_old VARCHAR(8),
@fecha_inicio_mes VARCHAR(8),
@aaaa_saldo NUMERIC(4),
@mm_saldo NUMERIC(2),
@aaaamm VARCHAR(6),
@aaaamm_saldo NUMERIC(6),
@aaaa_proc NUMERIC(4),
@mm_proc NUMERIC(2)
--set @fecha_proceso = '31/05/2013'
--set dateformat DMY
-- DEFAULT Sucursal, Agente ( NULL = ALL SELECCION )
IF @cod_suc_i = -999
SELECT @cod_suc_i = NULL
IF @cod_agente_i = 0
SELECT @cod_agente_i = NULL
-- FECHA DE CORTE
SELECT @fecha_corte = Substring( @fecha_proceso, 7, 4 )
+ Substring( @fecha_proceso, 4, 2 )
+ Substring( @fecha_proceso, 1, 2 )
--MG20050411 PROC ACT
SELECT @aaaa_proc = CONVERT(NUMERIC(4), Substring(@fecha_proceso, 7, 4))
SELECT @mm_proc = CONVERT(NUMERIC(2), Substring(@fecha_proceso, 4, 2))
-- FECHA DE CORTE ANTERIOR
SELECT @fecha_corte_old = (SELECT CONVERT(VARCHAR(8), Max(fec_ult_saldo), 112)
FROM magente_saldo -- MG20050616 Ultimo saldo incluido primer arranque esta en magente_saldo
WHERE CONVERT(VARCHAR(8), fec_ult_saldo, 112) <= @fecha_corte)
-- IF @fecha_corte_old IS NULL
-- SELECT @fecha_corte_old = '20050331' -- min (fec_ult_saldo) from magente_saldo
-- AAAA MM ( DE LA ULTIMA LIQUIDACION )
SELECT @aaaa_saldo = CONVERT(NUMERIC(4), Substring(@fecha_corte_old, 1, 4))
SELECT @mm_saldo = CONVERT(NUMERIC(2), Substring(@fecha_corte_old, 5, 2))
Lo corte al SP porque es muy largo y no lo puedo pegar aca.