In line 203 (in onDestroy) there is an if missing. Comparing the Ext JS 3.2.1 version of the RowExpander with yours I think the onDestroy function should look like this:
PHP Code:
if (this.keyNav) {
this.keyNav.disable();
delete this.keyNav;
}
var mainBody = this.grid.getView().mainBody;
mainBody && mainBody.un( 'mousedown', this.onMouseDown, this);