Thanks for all of the input guys. In the end, it was just the fuel pump.
One nice thing about replacing it is that the slight hesitation around 3500rpm under hard acceleration seems to be gone.
I'll also be doing my fuel filter soon, as the car has 162K km on it and it was last replaced at 100K km.
Apparently it's relatively common for the fuel pump on E46's to die, starting around 160-200K km.
Last edited by jabela; 11-23-2012 at 02:20 AM.