Upgrading to the 5870 or 6850 wouldn't be much of an upgrade as I've heard people mention that a highly overclocked GTX460 can compete with the 5850. Even if it's not true, my guess would be that the GTX 460 would not be far behind a highly overclocked 5870 too.
The 6950 is about your range when you mention £100 that you are willing to save but I don't feel the 6950 is worth over £100 on top of a GTX460 but it seems to be going that way with higher price graphics cards more so today than ever before.
If you would be happy with a card that trades blows with a stock GTX570 then get the 6950, flash it to the 6970 and then overclock it a little. I'm lucky I can hit 950Mhz on the core with stock voltage but not all of the 6950s flashed can do that.
The GTX470 would be a good card to think about also but, the GTX560 should make an arrival this month so if your friend can wait till the end of the month, I'd wait and make your decision then.