<p>I get this error on an update panel within a popupControlExtender which is within a dragPanelExtender.</p>

<p>I see that a lot of other people have this issue and have various fixes none of which have worked for me.</p>

<p>I would love to hear a logical explanation for why this is occurring and a foolproof way to avoid such issues in the future.</p>

<p>I have found that like others maintain this error does not occur when the trigger is a LinkButton rather than an ImageButton, still wondering if anyone has an explanation.</p>

My best guess is that the UpdatePanel is not able to write out the custom "async" property to the postback request properly. This is likely due to blocking from one of the controls wrapping it (my gut feeling is that it's the popupControlExtender - it tends to have odd behavior with updatepanels, as it is intended to manage the events inside it for it's show/hide purposes).
I would recommend either removing the updatepanel and rolling your own solution for your specific business need for having it there, or implementing your own popup script (probably slightly easier to write).
Incidentally, for some background, the "this._postbackSettings.async" is your AJAX.NET framework trying to figure out whether this is an async call or not. You might be able to overcome it by setting this programaticly before the postback is sent (catch the postback event and add the field to the postback request if it is not already there).
Just some thoughts...I do not believe there is a "plug and play" answer for this one!