The following code got the year thing fixed and displays hours and minutes with a 0?.
<script>
var dteNow = new Date();
var dteFutureEvent = new Date(dteNow.getTime()+10000000000);
function getDateDiff(dteLow,dteHigh) {
var intMonthDays = new Date(dteHigh.getYear(),dteHigh.getMonth());
var intMonthDays = intMonthDays.getTime()-1;
var intMonthDays = new Date(intMonthDays).getDate();
var lngDiff = dteHigh.getTime() - dteLow.getTime();
var intLowYear = dteLow.getYear();
var intHighYear = dteHigh.getYear();
if(intLowYear < 10){ // IE and Mozilla remove the 19 for 19.. dates put this back
intLowYear = parseInt(("190" + intLowYear.toString()));
}else if(intLowYear<100){
intLowYear = parseInt(("19" + intLowYear.toString()));
}else if(intLowYear < 200){ // Mozilla will give 101 for 2001 year date and 102 for 2002 ...
intLowYear = parseInt("20" + intLowYear.toString().substring(1,3));
}
if(intHighYear < 10){ // IE and Mozilla remove the 19 for 19.. dates put this back
intHighYear = parseInt(("190" + intHighYear.toString()));
}else if(intHighYear<100){
intHighYear = parseInt(("19" + intHighYear.toString()));
}else if(intHighYear < 200){ // Mozilla will give 101 for 2001 year date and 102 for 2002 ...
intHighYear = parseInt("20" + intHighYear.toString().substring(1,3));
}
var intYear = intHighYear - intLowYear;
// getYear can have strange values for 19..
var intMonths = ((intYear * 12)+dteHigh.getMonth()) - dteLow.getMonth();
var intDays = dteHigh.getDate() - dteLow.getDate();
var intHours = dteHigh.getHours() - dteLow.getHours();
var intMinutes = dteHigh.getMinutes() - dteLow.getMinutes();
var intSeconds = dteHigh.getSeconds() - dteLow.getSeconds();
if(intSeconds<0){
intMinutes = intMinutes -1;
intSeconds = intSeconds + 60;
}
if(intMinutes<0) {
intHours = intHours -1;
intMinutes = intMinutes + 60;
}
if(intHours<0) {
intDays = intDays -1;
intHours = intHours + 24
}
if(intDays<0) {
intMonths = intMonths - 1;
intDays = intDays + intMonthDays;
}
intSeconds = (intSeconds < 10)? ("0" + intSeconds.toString()): intSeconds.toString();
intMinutes = (intMinutes < 10)? ("0" + intMinutes.toString()): intMinutes.toString;
return (intMonths.toString() + " months, " + intDays.toString() + " days, " + intHours.toString() + " hours, " + intMinutes + " minutes and " + intSeconds + " seconds."

;
}
alert(getDateDiff(new Date(1901,2,21),new Date(1902,1,1)));
</script>