Ciao!

Sapete spiegarmi perchè non mi va questo:
codice:
'compone la data
Function DataI()
	Dim Giorno, Mese, Anno
	Giorno = 17
	Mese = 11
	Anno = 2004
	
	If Len(Giorno) < 1 Then Giorno = 0 & Giorno
	If Len(Mese) < 1 Then Mese = 0 & Mese
	
	DataI = Mese &"/"& Giorno &"/"& Anno
End Function


'controllo la data odierna con quella inserita (quella sopra)
Function CtrlData(DataI)
   If DateDiff("d",DataI,Date) < 0 Then CtrlData = False
   response.Write(DateDiff("d",DataI,Date)&"
")
End Function
if CtrlData(DataI()) = False then response.Write("errore!!!")

Allora, se la data è errata, esce, sì, un nuomero negativo, ma, alla riga evidenziata in rosso, non interessa mai nulla e mi scrive sempre l'errore. Perchè??