You want him to run BF2 on max settings? This isn't going to come out cheap.
I'd say get this to play BF2 nicely, but you might not get full AA and AF with the graphics. If you get a 7800GT though, it may but the motherboard and processor will bottleneck your performance. If that's the case, just get a socket 939 Motherboard (MSI K8N Neo4-F), and an AMD 3200 Processor. If you want it to be cheaper, get this:
BIOSTAR TForce Micro ATX Motherboard (disable onboard gfx) 60$
AMD Sempron 64 3000+ Socket 754 76$ w/ combined mobo above
eVGA 6600GS 200$
1/2GB Corsair Valueselect - 80-160$
Some cheap nice case - 50$
DVD-Rom - 20$
80 Gig WD Caviar Serial ATA - 55$
Fortron Source 450W PSU/Antec 500W - 50$-70$
850$ if 7800GT.
Remember, the motherboard and cpu aren't the best, but if it's only for BF2 you shouldn't have any problems.