This has to do with work flow. If while you are working on an order, someone invoices it, then the options available in the status drop down actually changes. So a timed even checks for changes and if there is a change, which wouldn't normally happen, the update panel posts back and the drop down list gets re-bound to a new data table based on various return values from the ajax response text.
Be very careful with UpdatePanels, they can be very heavy if not used properly as I explain here.
So in your example you'd have something like:
__doPostBack('<%= btnHidden.ClientID %>','');
You can remove the hidden button and call
This will cause an asynchronous update for that update panel