Haces unas cosas muy extrañas:
Código:
if (QTraer_Pagos_ProveedorEXENTO.AsVariant='N') or
(QTraer_Pagos_ProveedorEXENTO.AsString='N') or
(QTraer_Pagos_ProveedorEXENTO.AsWideString='N') or
(QTraer_Pagos_ProveedorEXENTO_ID.Value=0) Then
¿asvariant, asstring, aswidestring, value? ¿eso para qué sirve?, si el campo es un char, aunque veo que en el SP pones varchar(1).
¿?¿?¿?