The equation posted, ##\vec\tau_\text{ext} = \dot{\vec L} = I\dot {\vec\omega}##, is fine for a first year student. You are apparently a third year student now, so you shouldn't be using that equation anymore. It's a "lie-to-children." You should be using Euler's equations instead, ##\vec\tau_\text{ext} = \dot{\vec L} = I\dot {\vec\omega}+ \vec\omega\times(I\vec\omega)##.

torque = rate of change of angular momentum, this is the same as ##\vec\tau Δt = Δ\vec L## isn't it?

So the bit I am getting wrong is my definition of angular momentum.

My definition comes from the angular momentum of a particle http://hyperphysics.phy-astr.gsu.edu/hbase/amom.html#amp
##\vec L = \vec r X \vec p##
this makes sense, if r is in the same direction as p (linear momentum) then the angular momentum will be 0, if it is orthogonal to p then it will be maximum.

The angular momentum of a rigid body is the product of the body's moment of inertia tensor about the center of mass and the body's angular velocity: ##\vec L = I\vec\omega##. Trick question: What frame is it expressed in?

All of the standard formulae for the inertia tensor (e.g., http://en.wikipedia.org/wiki/List_of_moment_of_inertia_tensors) are expressed in rotating frame coordinates (a frame rotating with the rigid body). The moment of inertia tensor in inertial coordinates is a time-varying beast; it's constant in this rotating frame. The answer to my trick question is rotating frame coordinates. Working in inertial coordinates here would be insane.

On the other hand, the expression ##\vec\tau_{\text{ext}}=\frac{d\vec L}{dt}## is about what's happening in the inertial frame. How to relate the time derivative of the angular momentum in the inertial frame to that in the rotating frame? That's what the transport theorem does. For any vector quantity ##\vec q## the transport theorem says
[tex]\left( \frac {d\vec q} {dt} \right)_I = \left( \frac {d\vec q} {dt} \right)_R + \vec \omega \times \vec q[/tex]
Plug in the angular momentum and you get Euler's equations.