4870, but get the 1Gb version if you can.
Check the cooler, the 4870 produces quite a lot of heat and many coolers dump in into the case instead of exhausting it outside; Fine if the case has plenty of airflow, a disaster if not.
The best are XFX, EVGA and BFG, the rest are also rans for quality after sales service and length of warranty.
The HD4870 is a much better card the GTS250 but as coozie7 said get a 1Gb model, as for what brand you should buy I would look at what's on offer by the respected board partners in terms of bundled software and what warranty the card has.
You may want to oc your cpu a bit. I have a E6400 overclocked to 2.56 (which means it is close in performance to yours) and it is a major bottleneck for my 4850. It is such a bottleneck that I didn't notice any difference in a few games when I bought it (I previously had an X1950 Pro). Actually, I saw a lot more difference when I overclocked, than with the new card.
save money up and get a 5850. It uses less power than the 4870. You get wopping performance with it, the 5850 competes with the GTX 285, and only consumes 151 watts which is 1 more watt than the GTS 250. I currently have a GTS 250 and am concidering an ATI 5850 in the future. Try to save your money up if you can, you will not regret it. I'm just thinking how that card is a great deal for it's prce to performance and it's power consumption.
buy the 5850. it actualy consumes less power than the 4870. it's like alien technology despite i havn't got it but, it only uses 1 more watt than the GTS 250 and that card has been recently renewed from the 9800GTX+ and it's performance is more than double. Save money up and go for the new dx 11 card. Try to save up if not then you can buy the 4870. But the 5850 to be honest seems very good for the price and architecturally superior to NVIDIA cards concidering power consumption and power efficiency.