Mi dispiace, ma non sono riuscito a simulare il tuo problema. Il mio esempietto funziona. Te lo mando non si sa mai.
pagina a.aspx (un textbox e 2 pulsanti server)
codice:
		<form id="Form1" method="post" runat="server">
			


				<asp:TextBox id="m_CliSel" runat="server"></asp:TextBox>
				<asp:Button id="Button1" runat="server" Text="Apro nuova pagina"></asp:Button></P>
			


				<asp:Button id="Button2" runat="server" Text="Pulisci campi"></asp:Button></P>
		</form>
codice sottostante a.aspx
codice:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'apre popup
        Me.RegisterStartupScript("", String.Format("<script>var w=window.open('b.aspx?m_CliSel={0}','popup','width=500px,height=400px,left=300px,top=200px,');w.focus();</script>", Me.m_CliSel.Text))
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'azzera textbox
        Me.m_CliSel.Text = ""
    End Sub
la pagina b.aspx requpera l'id e lo utilizza nella query:
codice:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Inserire qui il codice utente necessario per inizializzare la pagina
        BindDataGrid()
    End Sub

    Private Sub BindDataGrid()
        Dim id$ = Trim(Request.Params("m_CliSel"))
        Dim CondizioneWhere$ = IIf(id = "", "1=1", String.Format("id={0}", id)).ToString
        Dim sql$ = String.Format("SELECT * FROM CAMPI WHERE {0}", CondizioneWhere)
        'PrintLn(sql) : Exit Sub
        Me.DataGrid1.DataSource = Libreria.GetDataTable(StringaConnessione, sql)
        Me.DataGrid1.DataKeyField = "id"
        Me.DataGrid1.DataBind()

    End Sub
Questo funziona
Ciao