Server.Transfer() probably won't ever work unless somebody makes the ATLAS scripts somehow smarter.
Here's what I think happens with the UpdatePanel:
1) You click on the GridView row.
2) The UpdatePanel performs a POST in the background while it displays the old data.
3) When the page finishes rendering in the background, it basically does a cut-n-paste of the area under its control from the invisible background page to the visible foreground page.
4) When you Server.Transfer(), ATLAS has a fit because when the URL of the invisible background page is the same, but it can't find the control it wants within there to paste into the visible window.
What you'll want to do is a Cross Page PostBack with a button control.
Here's how you do that:
1) Create a template field. You can convert one of your bound fields to a template field and it won't make a new, empty column.
2) In your template field, place an <asp:button /> control, setting the CommandName, CommandArgument and PostBackURL properties.
Mine looks like this:
<asp:Button runat="server" id="viewRow" style='display:none' CommandName='Select' CommandArgument='<%# Eval('itemId') %>' PostBackUrl='~/Stuff/ViewItem.aspx' />
3) Override the page's Render() method:
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
...other render code you may write...
For Each row As GridViewRow In MyGridView.Rows
If row.RowType = DataControlRowType.DataRow Then
row.Attributes.Add("onClick", "document." & Page.Form.ClientID & "." & row.FindControl("btnViewRow").ClientID & ".click();")
End If
Next
...other render code you may write...
MyBase.Render(writer)
End Sub
4) Define a property to expose the selected item to the desination page.
Public ReadOnly Property ItemId() As Integer
Get
Return MyGridView.SelectedValue
End Get
End Property
5) Now all you have to do after that is write your receiving page to handle a Cross Page PostBack, you can search for the instructions on how to do that in Google.
The effect is the same as PostBack + Transfer, you just POST somewhere else instead of transfering. The ATLAS stuff seems to be fine with it.