I just recently updated about 70% of my computer and the total price was about 400$, this is my share of research information which you should find usable for budget computer.
The MOST IMPORTANT is GOOD motherboard. You should not buy cheap ones, but only the best. They are all over 100$. Motherboard sets the limits for future upgrades and the cheaper you buy, the lesser you have such features, also cheap brands usually dont patch their Bioses even than they had fatal bugs.
Motherboard priorities:
AMD socket-A (You cant buy Intel if you go for budget prices)
333 mhz FSB (important for upgradability)
DDR RAM 333 or 400mhz
USB 2.0
Chipset VIA or Nforce2
Manufacturer _only_ from Asus, Epox or Chaintech. They are like Porche compared to others which are all Ladas.
Processor:
AMD AMD AMD AMD, dont you get it, Intel will be about 100$ more expensive but with only minimal more processing speed, even none.
Look the processor speeds/prices, you see high raise suddenly and it is currently somewhere AMD1800+XP. Buy the one just before the price raisepoint.
Memory:
DDR ram, 256 minimum, i would buy 512mb, 333mhz.
Video card:
I havent looked this closely since i didnt upgrade my video card. However DO NOT buy geforce 2/4 MX brands! And APG 8x is only for marketing purposes, benchmarks show it doesent increase FPS a single frame. All info is in benchmarks, look from there before buying.
Sound card:
Because this is budget computer, look for MB with integrated sound circuit (nowdays same MB will have lots of different features included, like RAID capability). Ie. Epox 8DRA+ has sound chip that supports surround, Dolby 5.1 and digital input/output. I bet your friend with $$$ sound card cant tell the sound quality difference. One other plus is, that they dont make your system instable, like Sound Blaster has tendency to do. SB has appalling support for their brands.
Net card:
If you need one, i advice to pick even this integrated on the MB, it however raises the price with ~20$. Net cards are famous for making your system instable, integration rarely should have such problems.
Hard Drive:
Buy cheap ones with 30+ GB of space.
Power:
350w or 400w. The bigger you buy the longer it will last (they will go "bad" with time), again dont save 4$ with buying 300w instead of 350w. Buy the cheapest ATX box that you can find.
Only cooling you need is heatsink with fan for the processor. IF the MB will start to suffer from too much heat (PC health status will show something 40c or so), only then buy chasis fan. Remember that fans make noise so you should keep them minimum.
For heatsink buy the cheapest, but ask from the storekeeper what is enough for your processor. The price shouldnt be above 15$. BE CAREFUL when assembling the sink, USE SILICON grease if the sink wont have such "patch" underneath it. Sink notches will require lots of force to be bent to its hooks, this is the stage where lots of people break their processor. If sink isnt correctly in place it may pop out when the power is on and the processor will definetly fry in matter of seconds.
I would advise to let the storekeeper to put the fan with the processor on the motherboard, they will do it mostly without extra $$.
edit: I wouldnt go for Asus-a7v333, it has no support for 333fsb and USB 2.0 (333fsb is required for the new 2200+XP and over, they will be good upgrade next christmast). Look instead for Asus A7V8X or Epox 8RDA <- is award winner in anandtech.com tests for "value motherboards" and is little cheaper than Asus, but is less available in stores.
Cheers:p