Using ASP.NET 2.0 and ASP.NET AJAX has finally given me a server-side method to perform a window.open that I am comfortable with:
Throw a ScriptManager on your page, and place this code inside a click event, and if the element you're clicking is inside an Update Panel, then you've pretty much got it.
I haven't investigated this thoroughly (since we had to get this into prod) but the behavior was fairly pervasive thoughout the app.
What this does is forces a new window to be popped up. It also gives us the opportunity to keep a line of communication open between the parent and the child windows. Not a big deal, but yet another workaround for the unpredictable effect AJAX seems to be having on standard web development and assumed behaviors (and my life).