Hola gracias por vuestra ideas, de momento aún sigo pegándome con el método de marras. Con respecto a comprobar si un año es bisiesto sé como comprobarlo, comprobamos si se cumple o no estas condiciones :
(anno % 4 == 0) && !(anno % 100 == 0 && anno % 400 != 0)
Más o menos tengo encaminado como hacerlo, el problema es a veces el resultado me varía en un día dependiendo de las fechas que reste (normalmente una ficticia respecto a la actual). Os dejo un ejemplo de la lógica que voy a aplicar. Cuando tengo el método completo lo cuelgo y espero vuestras críticas.
Desde el 13 de marzo de 2009 hasta el 5 de abril de 2011.
Primero contamos los dias hasta el 31 de marzo (18 dias), después los meses desde abril hasta diciembre (9 meses), por último los años hasta 2011 (1 año). Nos vamos a la siguiente fecha: como es el 5 de abril serían (3 meses) y 5 dias de abril. Total: 1 año, 12 meses y 23 dias, que sería 2 años y 23 días.
Muchas gracias y un saludo