lidier, buen post... bienvenido al foro... te recomiendo un ligero cambio para dar por solucionado el tema de que si viene o no el parametro en null.
Código:
WHERE CICLO_FACT LIKE DECODE(P_CICLO_FACT, NULL, CICLO_FACT, '%'||P_CICLO_FACT||'%')
De esta manera sabras si tu parametro esta nulo o no, de venir en nulo, el resultado seran todos los ciclos de facturas, entonces te daras cuenta que algo no anda bien.
Cambie el nombre del parametro V_CICLO_FACT por P_CICLO_FACT que es una nomenclatura mucho mas representativa de un parametro.
Muchos exitos, Saludos. Mario.