The 8800 GTS 320 MB is probably the best bang for the buck.
The 8800 GTS 640 MB is MUCH better than the 320 MB in some games but identical in others.
The 8600 is more expensive than it's worth. Get the 8800 GTS 320 MB instead if your budget is in that area.
I guess it depends on what games your Dad likes. Look at these benchmarks to get a better idea.http://www23.tomshardware.com/graphics.html
100% agreed with previous poster about waiting for AMD's R600. It may offer you some new and better alternatives or force some price cuts for the 8800 cards.