Preguntas:
1) No entiendo por qué usas IFNULL si no haces LEFT JOIN. Si solo buscas en documentos que estén relacionados con pagos, no es necesario el IFNULL.
2) Yo en lugar de
usaría... INNER JOIN... ON. Es decir,
(ambos campos deben ser PK y FK, respectivamente. No olvides indexar i_cod_registro)
y luego el WHERE con lo demás.
3) no entiendo qué es lo que quieres contar y por qué agruparías. Ahora estás contando pero sin agrupar por nada. Dinos exactamente qué quieres contar. Tal vez quieres contar los códigos, etc. Aclaranos eso.
Y dinos también cuál es la naturaleza de esas validaciones de las que hablas.