Hola,
no se si habrá algún componente de tipo Grid que te ordene automáticamente las columnas pinchando en los títulos. Yo te pongo un ejemplo simple de como podrías hacer la ordenación pinchando en los títulos.
Código Delphi
[-]
procedure TFrmMenuArt.DbGrid1TitleClick(Column: TColumn);
begin
AdoQuery1.Close;
AdoQuery1.SQL.Text:='SELECT * FROM tutabla ORDER BY '+DBGrid1.Columns[column.Index].FieldName +' ASC';
AdoQuery1.Open;
end;
Espero que te sirva de algo.
Saludos.