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

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

class Sample {
  // DateTimeOffsetのTimeOfDayプロパティを比較するメソッド
  static int CompareTimeOfDay(DateTimeOffset x, DateTimeOffset y)
  {
    return TimeSpan.Compare(x.TimeOfDay, y.TimeOfDay);
  }

  static void Main()
  {
    DateTimeOffset a = new DateTimeOffset(2013, 4, 5, 6, 0, 0, new TimeSpan(9, 0, 0));
    DateTimeOffset b = new DateTimeOffset(2013, 4, 4, 8, 0, 0, TimeSpan.Zero);
    DateTimeOffset c = new DateTimeOffset(2013, 4, 3, 11, 0, 0, new TimeSpan(-5, 0, 0));

    DateTimeOffset[] arr = new DateTimeOffset[] {a, b, c};

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

    foreach (DateTimeOffset dto in arr) {
      Console.WriteLine("{0} (UTC: {1})", dto, dto.ToUniversalTime());
    }
    Console.WriteLine();

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

    foreach (DateTimeOffset dto in arr) {
      Console.WriteLine("{0} (TimeOfDay: {1})", dto, dto.TimeOfDay);
    }
    Console.WriteLine();
  }
}
実行結果
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プロパティを比較するようにすれば、日付のみを比較してソートするようにすることもできます。

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