Apart from the difference in how the serializeArray result is assigned, there doesn’t seem to be much else that could cause the problem.
frm = $('#estimateForm');
frm = frm.serializeArray();
@AurelioDeRosa as our resident jQuery expert, is there any light that can be shone on this?