Ok. Finally, after spending 4 days I found that the column model names and indexes weren't same as I was building it dynamically. Added .trim to the names and indexes as well and everything works like a charm.
Just for reference….
cModel.push( { name:(data[p][n]).trim+'HU', index:(data[p][n]).trim+'HU', align:'right', sorttype:'float', editable:true, formatter: 'number', formatoptions: { thousandsSeparator: ",", decimalPlaces: 2 }, summaryType:'sum', width:100 } );
