I spent a long time messing around with jets and needles. I've gone through many combinations recommended by other kdx'ers, but still the bike had rich symptoms in certain throttle ranges. For example, my pilot air screw didn't seem to work as advertised. I finally said "screw the recommended jet sizes" and went back to basic principles of jetting, i.e. plug reading and ride-and-feel. I am now running a 38 pilot at sea level with temps around 60F, and it finally feels right. The air screw is now effective at about 1.5 turns like it is supposed to be, the plug looks better (but still a little rich) and the bike runs cleaner. My main is #152, my needle is stock (1174) with clip in #2 position. I've got an FMF rev pipe and Vforce-2 reeds. And my airbox lid is intact, with only the snorkel removed. So what does all this tell you? Not a damn thing, except that you shouldn't be afraid to go beyond what others are recommending for jet sizes, as long as you follow basic principles of jetting.
Oh yeah, another little thing I discovered along the way is that there might be a huge variation between individual carbs. It turned out that my carb had a gap between the jet block and the carb body (think air leak). And even though there is a rubber gasket in there, it didn't seal the gap. Let's just say I'm not very impressed with Keihin's manufacturing tolerances. Check out the photo: a feeler gauge easily slips into that gap! That ain't right! And it will certainly make a difference in the pilot and transition circuits. BTW, I took care of that gap with a couple of o-rings.