If grid has frozen columns and method 'sortGrid' is called on column that is not frozen, sort icons on all columns are set. It is easy to reproduce this. Go to http://www.trirand.com/blog/phpjqgrid/examples/functionality/frozen/default.php, open JS console and execute
jQuery("#grid").jqGrid("sortGrid", "OrderDate", true, "desc")
It looks like problem is in method sortGrid where sobj variable is set initially to false and correctly set only if sortGrid is called for frozen columns. Initial false value (for sort by any other column) is passed as last argument to sortData which causes wrong value for newSelectedTh to be used for showing sort icons.