Suky, muy bueno lo que presentas, no se si necesitaré algo así en algún momento pero es buenosaber que esta por aquí.
Con respecto a los años bisiestos, creo que tienen razón lo que te comentan del año 1970.
Fijate con este ejemplo a la fecha actual,
Elapsed_Years_Leap=(2010-1970)/4; // Resultado 40/4=10
Luego en la siguiente instrucción tomas como que esos son los años bisiestos que has tenido y los consideras de 366 días, cuando en realidad como el año 1970 no fue bisiesto, si no que fue el 1972, has tenido solo 9,5 años bisiestos por lo que tomarias 9 años.
Es lo que he entendido leyendo el código que escribiste, al menos esa parte, puede que en otra sección hagas otro arreglo que no logro ver.