no estoy seguro si algo asi te funcione, pero igual pienso que te estas complicando mucho en tu codigo, te voy a colocar un ejemplo:
Código JS:
Ver originalvar date1 = new Date(2011,1,24),//24-01-2011
date2 = new Date(2011,6,24);//24-06-2011
alert('meses: '+ (new Date(date2-date1).getMonth() + 1) );