How about 8...Nexd7? That would leave you a piece up.
My Best Game to Date

Darn. That's what I was going to say.
My queen may have felt like she had more to live for instead of that exchange. Maybe that's because symmetrical rook endgames make me sad.
25. ...d5

As has been pointed out, 8. ... Nxd7 leaves you a piece up.
9. ... Bd6 allows white to give you doubled pawns. But it does open up the g-file for you. You could castle queen side and attack with Rg8.
25. ... Kc7 is, as you say, inaccurate. Better would be 25. ... d4. Also, 26. ... Rg4 would be better than 26. ... f6. The latter allows white to support his advanced pawn.
27. ... b6 is insipid. More inspiring would be 27. ... b5 hitting the defence on c4.
29. f3 is, as you say, a mistake. Better would be 29. f5 or 29. Rc1.
You make good use of your queenside passed pawns
Good game

You need to work on your openings. Lucklily your opponent made plenty of mistakes in the endgame so your victory was ensured to some extent.

dont' worry about doubling pawns so much. if it doubles in the center - c through f files, it only helps your center. thus, focus more on strengthening your center and developing pieces.
13. e5 was interesting, took control of more of the center and allowed lines for your queen to attack should he castle kingside while not committing to anything specific
24. Rg4 forces more defensive positions for white
32. b5 with rook protecting the a pawn allows the king to go to b6 liberating the rook a bit more and marching the pawns down with slightly more ease.
44. a3+ gets in a little bit more progress before you put the rook on d8
and pushing any of the pawns on move 48 forces a queen even without the king's aid
I figured I'd suggest some alternate moves in a few places seeing as how all the mistakes were already pointed out =)

Sans before I read the barrage of comments, I went Aaagh!! He missed the fact that knights can jump backwards. I had a couple of games like that recently and my opponents fell into that very same trap.
Oh, by the way don't open attack files against your own castled position. However, you made more good moves than your opponent and you had a well deserved win!
This is probably my best game to date, though I'm sure I made some mistakes somewhere. Can anyone point out any mistakes or innaccuracies?