Если я правильно понимаю ваш вопрос, вы можете реализовать сортировку по убыванию, перевернув результаты сортировки.
Вы должны иметь возможность предоставить экземпляр IComparer, который изменяет порядок сортировки.
Public Class myReverserClass
Implements IComparer
' Calls CaseInsensitiveComparer.Compare with the parameters reversed.
Function Compare(x As [Object], y As [Object]) As Integer _
Implements IComparer.Compare
Return New CaseInsensitiveComparer().Compare(y, x)
End Function 'IComparer.Compare
End Class 'myReverserClass
Выполните обратную сортировку следующим образом:
Dim myComparer = New myReverserClass()
Array.Sort(Vals, Cols, myComparer)
На MSDN есть пример, который делает это: http://msdn.microsoft.com/en-us/library/system.array.sort(v=vs.71).aspx