<p>In my code behind I wire up my events like so:</p>

<pre><code>protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    btnUpdateUser.Click += btnUpateUserClick;
}
</code></pre>

<p>I've done it this way because that's what I've seen in examples. </p>

<ul>
<li>Does the base.OnInit() method need to be called? </li>
<li>Will it be implicitly be called? </li>
<li>Is it better to call it at the beginning of the method or at the end? </li>
<li>What would be an example where confusion over the base method can get you in trouble?    </li>
</ul>

In this case, if you don't call the base OnInit, then the Init even will not fire.
In general, it is best practice to ALWAYS call the base method, unless you specifically know that you do not want the base behaviour to occur.
Whether its called at the start or the end depends on how you want things to work. In a case like this, where you are using an override instead of hooking up an event handler, calling it at the start of the method makes more sense. That way, your code will run after any handlers, which makes it more emulate a "normal" event handler.