Note: Opinionated Response - take it with a heapload of salt
For the endgame, I'd have suggested waiting. Or 28...g4, stalling advance of king and pawns on the kingside. The rooks are good where they were when you left, but I think you can do something after with 29...Rd8, planning Rd3 to take one of the pawns. It doesn't look like you need to worry about White's a3-a4: after a4, wait for a5 (nothing to do) or axb5, which you reply with axb5. If he retakes with rook, take White c-pawn with Rxc4, protecting your last queenside pawn.
As for your opening, I love that opening for some reason, and usually play Nbd7 before Rd8, or b7-Bb7 and support for the push of the e-pawn. Experiment, perhaps?
With 12.Bh6, I see not much difference - if you take, he takes back, but puts his queen out of the game for a bit. He may threaten Re1-Re4-Rh4, which may be hard to see, but not really that ba-- [babbling on...](actually, it might be both bad and good. He makes a hole in your kingside, and plants Q+R, but at the same time, he castled kingside, so you can start your own attack through there?)
Meh, there you go.
/end
A game I played earlier today, some obvious mistakes, but I'd appreciate your feedback.