There is bug SetOrderBy function.
MsQuery1.Sql.Text := MsQuery1.BaseSql;
MsQuery1.SetOrderBy;
ShowMessage(MsQuery1.Sql.Text);
select ...
from ...
order by .. --> incorrect(bug).
where ...
In use latest version(4.50.0.34)
Test and reply.