Try something like :
var store = new Ext.data.Store({fields: result.fields, data: result.data})
grid.reconfigure(store, result.columns})
The fields config on Store has always behaved this way, with the ability to pass in fields instead of a model. http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.AbstractStore-cfg-fields