Salu2,
Yo ordeno con la opcion
.Sortmsflesgrid.Sort = valor
flexSortNone = 0 Ninguna. No se efectúa la ordenación.
flexSortGenericAscending = 1 Genérica ascendente. Realiza una ordenación ascendente basada en la estimación de si el texto es una cadena o un número.
flexSortGenericDescending 2 Genérica descendente. Realiza una ordenación descendente basada en la estimación de si el texto es una cadena o un número.
flexSortNumericAscending 3 Numérica ascendente. Realiza una ordenación ascendente que convierte las cadenas a números.
flexSortNumericDescending 4 Numérica descendente. Realiza una ordenación descendente que convierte las cadenas a números.
flexSortStringNoCaseAsending 5 Cadena ascendente. Realiza una ordenación ascendente sin distinguir mayúsculas y minúsculas en la comparación de cadenas.
flexSortNoCaseDescending 6 Cadena descendente. Realiza una ordenación descendente sin distinguir mayúsculas y minúsculas en la comparación de cadenas.
flexSortStringAscending 7 Cadena ascendente. Realiza una ordenación ascendente distinguiendo mayúsculas y minúsculas en la comparación de cadenas.
flexSortStringDescending 8 Cadena descendente. Realiza una ordenación descendente distinguiendo mayúsculas y minúsculas en la comparación de cadenas.
flexSortCustom 9 Personalizada. Utiliza el evento Compare para comparar filas.
Espero que te sirva.