>Private Sub ins_ScadenzaPatente_ValueChanged(ByVal sender As
>System.Object, ByVal e As System.EventArgs) Handles ins_ScadenzaPatente.ValueChanged
>ins_ScadenzaPatente.Format = DateTimePickerFormat.Custom
> ins_ScadenzaPatente.CustomFormat = "dd/MM/yyyy"
> Dim d1, d2 As Date
> d1 = Now 'data 1
> d2 = Now.AddDays(2) ' data 2
> If DateDiff(DateInterval.Day, d1, d2) < 0 Then
> ins_ScadenzaPatente.ForeColor = Color.Red
> Else
> ins_ScadenzaPatente.ForeColor = Color.Black
> End If
> End Sub
Scusa tanto avevo sottointeso che tu capissi l'esempio
, il mio pezzetto di codice che riporto qui sotto
Dim d1, d2 As Date
d1 = Now 'data 1
d2 = Now.AddDays(2) 'data 2
è solo per avere due variabili che contengono due date diverse, e non è certo quello che tu devi incollare nel tuo codice!!!! 
d1 = Now
dovrà diventare nel tuo codice la data inserita dall'utente
d2 = Now.AddDays(2)
sarà invece la tua data di riferimento
tu avresti dovuto prendere in considerazione SOLTANTO la funzione
DateDiff(DateInterval.Day, d1, d2)
che accetta come parametri quella che possiamo definire l'unità di misura per calcolare la differenza (nel nostro caso i giorni)
, e come altri parametri la prima e la seconda data a cui fare riferimento... con l'if RISULTATO < 0 andiamo poi a colorare il testo di rosso se il valore della differenza è negativo o nero se è positivo.
vedo che hai cambiato il label che avevo messo io, non capisco come tu non possa aver capito il fatto che avevo messo d1 e d2 solo come esempio... 
se hai ancora bisogno... facci sapere 
-----------------------------------------------------
La ricompensa per una cosa ben fatta, è averla fatta.