Это должно работать, с библиотекой Linq
Dim t1 As DateTime = DateTime.Parse("12/4/2011")
Dim t2 As DateTime = DateTime.Parse("12/2/2011")
Dim t3 As DateTime = DateTime.Parse("12/3/2011")
Dim dates As New List(Of DateTime)()
dates.Add(t1)
dates.Add(t2)
dates.Add(t3)
Dim latestdate As DateTime = dates.Max()
Когда вы помещаете его в список, вам не нужно беспокоиться, если у вас есть 3 даты или 300. Это всегда будет работать.