¿Por que no usas la propiedad sort de la query?
Código Delphi
[-]
Procedure TfLecturaArchivo.gridTmpFileTitleClick( Column : TColumn );
Var
Campo : String;
Begin
Campo:= '[' + column.FieldName + ']';
If ( dm.qSolicitudes.Sort = Campo + ' ASC' ) Then
dm.qSolicitudes.Sort := Campo + ' DESC'
Else
dm.qSolicitudes.Sort := Campo + ' ASC';
End;
Obviamente la consulta disparala antes en algun evento y pone en
True la propiedad
filtered de la query.
Tip:
Si usás el DBGrid de Jedi, al poner en true la propiedad TitleButtons se habilitan las flechitas que indican el ordenamiento en el título.