It seems to me that you have almost the same problem as described here. I suppose you use loadonce:true option. After the changing the datatype to 'local', the rowObject will be no more XML object.
I need to use the loadonce (for cleint side sorting, etc). But, using your suggestions, I have now been able to design a very nice generic way for my custom formatters, which could now be used by any of my jqGrids. Here is an example (we could maybe share thsi with the community):
OverdueDate_formatter = function (cellvalue, options, rowObject,iCol,sColName){