Pretty nice game, no major blunders, please look and analyze! :)

What about 27. exd6? Then anything other than QxR+ works well for white and QxR+ benefits black and is the logical move anyway so wouldn't it go something like 27. exd6 QxR+ 28. RxR NxQ 29. BxN now this way its a better trade for white material wise and, even though they are doubled and will be difficult to defend, white has to past pawns and is threatening blacks pawn on g5. Black still has the advantage but I think white has a bit better adavantage here. just a bit.

yeah i see what you're saying, but i think black's bishop is a good blockader and if black's rooks are active then the pawns can be snatched off, but it's interesting. There will probably be a g4 push immediately after your trade scenario and after hxg4 and Bxg4 then a rook can easily go after the weak doubled pawn on d6
and then after the g4 knight to g5 followed by a probable h6 then Ne6 threatening rook and pawn(guarded by rook) and also blocking the bishop as well. It's playable and alot better than what happened. White even(at the moment) is a pawn up though it's more than likely soon to be made even. further moves might be 31. ... Rf6 32. hxg4 and then I'm not going to presume I know blacks next move there. possibly 32. ... Ra3 33. Bf5 Rc3 34. Re4 f4 35. gxf3 Rxf3 36. Kg2 which looks much better for white. This becomes major endgame tactics with many possibilities and is definitely playable.

White should be better after 27.ed6.
Regarding 21...Nb8 - the d7 bishop is about to move, but the problem is... it hasn't moved yet. After 22.Ra1 Black is in trouble.

hmm 22.Ra1 does seem like a nice idea! After rook takes, rook takes, then it looks bad as the white rook can get to the 7th rank with no problem. Maybe after 22. Ra1 the knight can hop back to a6 because the rook isn't guarding the b pawn? The other rook can swing over, but I think that a g4 push might be a problem for white, as the d7 bishop might go somewhere useful. Back to the exd6, yes I think that by that time if the time control wasn't two hours or more, than we would probably reach a draw. Being down an exchange isn't too bad with no queens on the board. umm Teh_Kraken, e4 is the main line for KID. e3 is a whole other opening
DroidFish gave white a minor lead (0.5-1.2) for the entire game until the dreadful 29. e6, when the game swung decisively in your favour.
First of all it doesn't look 'terrible' for black, only somewhat weaker. I put the moves through DroidFish (approx 16-17 ply), and it identified about 5 moves where you lost around half a point, and one where you lost almost a whole point.
You didn't keep losing half point after half point as your opponent also made mistakes, but throughout almost the whole game (till 29) white was in the lead.
The more correct moves were 2. ..d6, 9. ..c6, 12. ..Nxe4, 16. ..b5, 25. ..Nxc5.
The worst move was 27. ..Bf5? instead of cxb4, because after 29. ..cxb4 if white would have played 30. Bxf5 he would have been in a better position (see above post).
My analysis on your game. It's not engine checked but I'd rather have players point out my flaws with words than an engine with numbers.
I respectfully disagree with Sapp that 27. ..Bf5 is a good move. As I wrote in my previous post, after 28. ..cxbf, had white played the correct 29. Bxf5, white's position would be better (as demonstrated). The correct play for black should have been 27. ..cxbf.