I got my iPhone on day one so feel I've had my £269 out of it, an upgrade to 3G, GPS and 16Gb for £159 seems a bargain to me (£35 tariff). Friend who got iPhone in February isn't impressed, but then again the new features aren't killer for her.
I think it's reasonable. Upgrade terms for existing O2 users seem harsh, there will be a lot of people unable to upgrade until the end of their current contract.
You're friend has upto October to upgrade... depends if she likes the idea of it then or not.
I dont understand the second comment though. If you pay the new price, all you do is sign upto a new 18 month contract. How is that harsh? no Penalties of anything.
Then, sell of your first iPhone to family or friend. Win-Win