The solution requires a fix to Ext.tree.View (we have attached a patch with this report). Bottom line, the initComponent method of Ext.tree.View registers listeners using the unmanaged on() call for both it's own store and the treepanel's store. It should instead using the addManagedListner version -- ie: mon().
What appears to be happening is that even AFTER the window containing the treepanel is closed, the 'beforefill' event handler is still registered. The second time the window is created, there are now two 'beforefill' event handlers, but the first registered handler refers to a view that is no longer valid. When the event fires, it try's to dereference a 'null' reference which causes the exception.