I don't know if this helps, but I have been having a similar problem.
I had a statically-defined Accordion. One pane contains a text box and a button. Another pane contains a GridView and a SqlDataSource. In the click event for the button, I add a record to my database and I then called Page.DataBind to refresh the data source and grid view.
After clicking the button, the database was updated, but the Accordion disappeared.
I found that if I replace the Page.DataBind within the click event handler with a more specific GridView1.DataBind, everything works.
It looks as though calling Accordion.DataBind on an Accordion which is not databound causes it to disappear.
(By the way, I'm new to all this, so I apologise if this is obvious).