With bf96810d00d0eb916a0425dc413afef6f2fb5b57 you added a call to #updateTab() in TabbedPanel#onBeforeRender().
This causes a call to ITab#getPanel() at line 427 for each render of the TabbedPanel and thus re-creates the panel for the selected tab and looses the state I may have in the previous panel instance.
I believe this is a bug.
It is easy to reproduce with Wicket Examples - http://localhost:8080/ajax/tabbed-panel. Click on a tab and you will see that ITab#getPanel() is called twice - once by setSelectedTab() and once by onBeforeRender(). The real problem is when the TabbedPanel itself is repainted, then onBeforeRender() reconstructs the selected tab's panel.