Solo lo he mirado por encima pero me parece que el problema lo tienes en la linea
Código:
while(listaAux->sig && listaAux->sig->ano < anos) {
Estas considerando el mismo caso tanto si no hay siguiente como si el año es menor, si se da el caso de un año mayor sin siguiente lo considera como año menor no? Si tengo un momento me lo miro, pero mientras repasa tu un poco esta linea.
Saludos
vosk