Questo codice funziona, ho provato:

codice:
protected void Page_Load(object sender, EventArgs e)
{
       Button btn = new Button();
       btn.Text = "Nuovo Pulsante";
       btn.Click += new EventHandler(this.Button1_click);
       btn.ID = "Button1";


       System.Web.UI.HtmlControls.HtmlForm Form =(System.Web.UI.HtmlControls.HtmlForm)this.FindControl("form1");
        
       Form.Controls.Add(btn);
}


void Button1_click(object sender, EventArgs e)
{
     Response.Write("Hai cliccato il pulsante Button1");
}