Amigo, creo que te has pasado por alto la linea en la que hago lo siguiente:
Así que no puede ser un bucle infinito, otra cosa es que la condición para anioAux casi siempre se cumpla, y la mayoría de las veces sea la de los meses la que hiciera salirse del while.
Pero creo que ese no era el problema. Aún así lo solucioné cambiando el while por un for, y adaptando el código al for.
Gracias ^^