Array.SortメソッドなどでDateTime・DateTimeOffsetをソートする場合、デフォルトでは日時の小さい順(古い順)にソートされます。 日付を無視して時刻のみの大小関係でソートしたい場合は、次のようにTimeOfDayプロパティの値を比較するメソッドを用意してそれをSortメソッドに渡すようにします。

DateTimeOffsetの時刻のみを比較してソートする
Imports System

Class Sample
  ' DateTimeOffsetのTimeOfDayプロパティを比較するメソッド
  Shared Function CompareTimeOfDay(ByVal x As DateTimeOffset, ByVal y As DateTimeOffset) As Integer
    Return TimeSpan.Compare(x.TimeOfDay, y.TimeOfDay)
  End Function

  Shared Sub Main()
    Dim a As New DateTimeOffset(2013, 4, 5, 6, 0, 0, new TimeSpan(9, 0, 0))
    Dim b As New DateTimeOffset(2013, 4, 4, 8, 0, 0, TimeSpan.Zero)
    Dim c As New DateTimeOffset(2013, 4, 3, 11, 0, 0, new TimeSpan(-5, 0, 0))

    Dim arr() As DateTimeOffset = New DateTimeOffset() {a, b, c}

    ' デフォルトの順序(日時の小さい順)でソート
    Array.Sort(arr)

    For Each dto As DateTimeOffset In arr
      Console.WriteLine("{0} (UTC: {1})", dto, dto.ToUniversalTime())
    Next
    Console.WriteLine()

    ' 時刻のみを比較してソート
    Array.Sort(arr, AddressOf CompareTimeOfDay)

    For Each dto As DateTimeOffset In arr
      Console.WriteLine("{0} (TimeOfDay: {1})", dto, dto.TimeOfDay)
    Next
    Console.WriteLine()
  End Sub
End Class
実行結果
2013/04/03 11:00:00 -05:00 (UTC: 2013/04/03 16:00:00 +00:00)
2013/04/04 8:00:00 +00:00 (UTC: 2013/04/04 8:00:00 +00:00)
2013/04/05 6:00:00 +09:00 (UTC: 2013/04/04 21:00:00 +00:00)

2013/04/05 6:00:00 +09:00 (TimeOfDay: 06:00:00)
2013/04/04 8:00:00 +00:00 (TimeOfDay: 08:00:00)
2013/04/03 11:00:00 -05:00 (TimeOfDay: 11:00:00)

TimeOfDayプロパティのかわりにDateTime.DateプロパティDateTimeOffset.Dateプロパティを比較するようにすれば、日付のみを比較してソートするようにすることもできます。

ソートについてより詳しくは、基本型のソートと昇順・降順でのソートおよび複合型のソート・複数キーでのソートなどをご覧ください。