Keine Lösung, aber ein Tip zu einem, vieler möglicher Wege...
1. gewünschte Spalte in ein TStringList kopieren und um einen Delimiter (z.B. '|') sowie die Zeilennummer des Grids erweitern (also z.B.: "Meier|1"
2. StringList.Sort aufrufen
3. Einträge der StringList ASC/DESC auslesen (je nachdem ob auf- oder absteigend sortiert werden soll)
4. Die Strings der StringList je nach 3. wieder in das Grid einsortieren. Dabei die angehangene Zahl auslesen, die restlichen Spalten des Grids den Zahlen folgen lassen und natürlich den Delimiter samt Zahl dabei nicht anzeigen.
Viola!