Creo que habia una manera para ordenar las columnas cuando pulsabas encima del titulo, no estoy seguro porque hace tiempo que lo vi pero creo que era algo asi:
Código Delphi
[-]
DataSet.IndexName:=Column.FieldName;
De esta manera no tienes que ir realizando una select cada vez que pulsan el titulo.
Espero que te pueda ayudar.
Saludos.