nell' array dei mesi italiani, prova a mettere come chiave NON 1 ma 02, 03 , 04 ecc...

quindi
Codice PHP:
$mesi = array('01'=>'Gennaio','02'=>'Febbraio'..) ecc... 
dvrebbe funzionare lasciando inalterate le tue modifiche

non mi sono dicumentato in merito, ma a giudicare dal tuo problema (su quello che hai fatto in origine) hai il problema solo quando il mese è < 10 .. il chè chiama in causa lo 0 ..