ascolta io sono felicissimo che tu abbia scritto tutta la lezione ma non era questo il problema

non devo fare nessuna lezione
ho trovato il mio problema e stava proprio nel codice ( che bastava leggere e rileggere)
quando creo new Date
ho messo ( e non ho idea del perchè)

codice:
function SOMdat( DATini , GIOnum ) {	
	//DATini = DATA INIZIALE A CUI SOMMARE IL NUMERO DI GIORNI
	//GIOnum = NUMERO DI GIORNI DA SOMMARE
	
	//IMPOSTAZIONE VARIABILI
	var GIOnum = parseInt( GIOnum )  ;
	
	//SPLIT DELLA DATA PASSATA
	var DATtmp = DATini.split( "/" ) ;
	
	//IMPOSTAZIONE GIORNO , MESE , ANNO DELLA DATA PASSATA
	var GIOtmp = DATtmp[0]                 ;
	var MEStmp = parseInt( DATtmp[1] ) - 1 ;
	var ANNtmp = DATtmp[2]                 ;

....
in particolare
var MEStmp = parseInt( DATtmp[1] ) - 1 ;

questa quando trovava DATtmp[1] = 09 oppure 08
restituiva -1

è bastato eliminare parseInt
quindi

//IMPOSTAZIONE GIORNO , MESE , ANNO DELLA DATA PASSATA
var GIOtmp = DATtmp[0] ;
var MEStmp = DATtmp[1] - 1 ;
var ANNtmp = DATtmp[2] ;

e TUTTO funziona...

grazie a me stesso per l'aiuto...