I think its going to be hard to get all of that for $350, but I'll give my input for a good budget system that should run whatever you throw at it.
Athlon XP 2500+ (~$90)
Shuttle AN35N Ultra Motherboard (~$60)
2x256 Mushkin PC2700 Level II Dual Pack 2-2-2 Timings ($~95)
Western Digital 80gb 7200rpm Special Edition (~$65) [can probably find a better deal on this somewhere else]
Antec SLK3700AMB w/ Smart 350W PSU (~$65)
For video cards it really depends on what kind of games he wants to play. If he wants to play like CS and a lot of older games, I would recommend looking for a GF4 Ti4200 (on the FS/FT forums or other places), which can be had for around $50-$60. If he wants to try and play some newer games (like hl2, d3, farcry, etc), I'd try to get your hands on a used 9700 pro, which should be had for around $120 or maybe even a little less.
That brings your max total to around $500. I know its more than he wanted to spend, but getting the ti4200 instead of the 9700pro will drop your total about $70. Also that cpu, mb, and ram are all good for overclocking to get some added performance. I have a similar setup and I like it a lot. Obviously I'd love to have better, but I didn't spend much for mine (the 6800 that I got for $199 was by far the most expensive) and I can do whatever I want on mine (except play games at 16x12 with 129871982389123AA and 1928371923882913AF).
Either way, good luck with the build and hope your friend is happy with whatever you build him!