I am preparing for a new build. This will be a Windows XP system for now, but will probably upgrade to Vista in the next year. I am looking for a mid-range graphics card ($100 - $150) for home use and some occasional gaming. I have a 6600 GT now that has met my needs pretty well.
Am I better off going with a 7900 class card that seems to be better current performance or with an 8600 class card that is DirectX 10 compatible?
I would not buy any DX10 card right now simply for the sake of having DX10. Presently and in the near fore-seeable future, you simply don't need it. Wait for the next generation of DX10 cards, and there are actually games available that will make use of it. The performance of even the high end DX10 cards available right now like the 8800gts and gtx are questionable when put the task of running true DX10 titles when they become mainstream.
Based on my experience owning a 7900GS, 7900GT and 8800GTS;I feel this way. I would not get the 8600 series simply to get DX10. As recommended earlier, go with a X19xx series if you can find one reasonable. OTH, a 7900GS is cheaper and OCs like mad and will perform well in most games for the next year.
If you want a card that will game well, going fanless can only be accomplished with water cooling. A good card that cranks out the frame rates is going to run hot, so if you want to play any relatively new games, that is about your only choice if you don't want to listen to the fan.