Perhaps, a better name for the iGCol.SortOrder property would be "DefaultSortOrder". This column property stores the default sort order for the column (the order that will be used first when the user clicks the column's header to sort it). You can read about it in the electronic documentation.
If you need to know the effective sort order of a column, you need to use the column's SortIndex property. This property returns the zero-based index of the column within the SortObject (the current sort criteria) or -1 if it is not sorted. Having this, we could write the following code that displays the sort order of the column containing the current cell:
int sortIndex = iGrid1.Cols[iGrid1.CurCell.ColIndex].SortIndex;
if (sortIndex > -1)
MessageBox.Show(iGrid1.SortObject[sortIndex].SortOrder.ToString());
else
MessageBox.Show("Not sorted");
BTW, if you need to save/restore the current sort criteria, you can use the LayoutObject property of iGrid developed specially for this purpose.