I can't imagine it being supported much longer with new OSes. The 3GS is not iOS7 compatible and the iphone 4 was only released a year after the 3GS. When you say you were offered a free upgrade - meaning using up an actual upgrade through your carrier, or just being given it completely free. If the former, I wouldn't waste an upgrade on a 4, you can at least get a 4S for free with a 2 year contract.
Contracts in the UK SUCK.
Yeah its a carrier upgrade, i'll be paying £15.50 (around $27 bucks i guess?) for the iPhone 4 8GB (lol) , 50 minutes , 100 texts and 1gb of data lol.
2 years is fine, if i have to buy a phone inbetween its not a massive issue, but i don't want to buy a phone now if i can get a free one![]()