Me imagino que estás generendo tu boton en el evento load de la página verdad ?? recuerda que cuando se generan controles al vuelo debes volverlos a crear para que se guarden su estado así como sus eventos...
 
ejemplo;  
 Cita:  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
....
            Dim btn As New Button
            btn.Text = "nuevo"
            Panel1.Controls.Add(btn) 'algun contenedor
            AddHandler btn.Click, AddressOf btnGenerar_Click
        End Sub
 
        Protected Sub btnGenerar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            Response.Write("bla bla")
        End Sub
    Salu2