I think we fixed issue #1, and 2 see sample below. Office 12 has some API that you can plug in the event handler.
<%@ Page Language="C#" %>
<script runat="server">
protected void Button1_Click(object sender, EventArgs e){
Response.Redirect("http://www.microsoft.com");}
</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
<title>Untitled Page</title></head><body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Postback" runat="server" Text="Show Postback" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Show Redirect" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Postback" />
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
</form></body></html>