3. f3
always be aware of opening lines against the King....In this case, against Qh4+
4.fxe4
You were going to be a pawn down no matter what (as you soon see fxe4 fails) so it would have been better to gambit it for peice activity.
QED.
4. Bc4 (Or Bb5+ aiming to trade material) exf3? Nxf3 (and white has some compensation for the pawn...much better than droping a rook anyway)
You might also want to think about Qa4+...its by no means winning, but it might be better than my suggestion
5. g3
this is something for computers, but i'm not sure if Ke2 is worse, or any better than g3, after Qxe4+ Kf2 Bc5+ White is in a bad way, but is it worse than losing the Rook?, i'm not sure
9.Qxe2??
totaly unecessary on blacks part what the hell was he thinking?
18. Nxh5+
hmm, this will trade a knight and a Bishop for a Rook and 2 (important) pawns, it seems worth it, i still think it was a small blunder.
the f5 Knight was in a nice little postion under no threat, I think it would have been better to keep it there (threatening Nh5+) and wait for black to try and push it away, over-reacting or something...
Perhaps something like:--
Rf1 (into the open file) Ne7?? (trying to get rid of the f5 Knight) Nh5+...
the difference is that this way you gain some tempo and make some new threats...Black now has to defend the rather vunerable Knight on f6...this is of course if he plays Ne7
24. Qg4.
ahh!!!
...Is there any reason dxe4 is bad? ....worse than allowing a passed pawn?
is g4 the best queen square? Ne3!
also remember that you traded a Knight AND a bishop for a rook earlier, which means if black can trade white's Rook for a Knight or bishop he is not only up the exchange but up a peice!
By 28, 2 knights and a Rook should overpower a Queen in such a postion...by 35, its completly lost.