Cos'ha che non va il metodo Subtract? Restituisce un timespan, che è proprio quello che ti serve.
codice:
Dim data1 As New Date(2006, 10, 11)
Dim data2 As New Date(2007, 11, 12)
Dim timespan1 As TimeSpan = data2.Subtract(data1)
Console.WriteLine(timespan1.Days())