Pagina:
codice:
    <form id="form1" runat="server">
    <div>
    <asp:PlaceHolder ID="ph" runat="server"></asp:PlaceHolder>
    <asp:Button ID="bt" runat="server" Text="PostBack" />
    </div>
    </form>


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ph.Controls.Add(LoadControl("ucPostback.ascx"))
        If IsPostBack Then
            JavaScript.Alert(Me, "Messaggio dalla pagina: Postback effettuato")
        End If
    End Sub
controllo:
codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            JavaScript.Alert(Me.Page, "Messaggio dallo UserControl: Primo Caricamento")
        End If
        Response.Write("hallo world")
    End Sub

Si comporta correttamente, al primo caricamento (page.IsPostback = false) ricevo il messaggio dallo UserControl, al Postback invece ricevo il messaggio dalla pagina

(ps: il caricamento del controllo lo faccio in una sola riga)