there's definitely something wrong with the iPhone's 3g reception. At least on my example anyway. I spent all day yesterday in and about Birmingham city centre and didn't get a 3g connection once. Switching it off and back on again forced it to see a weak connection for about a half a second before it gave up and flipped back to gprs. I've only seen an edge connection a couple of times.
I can't believe o2 doesn't have strong 3g service in the centre of Birmingham.
I drove back through Wisbech today where my wife's nokia gets an easy 3g connection. Even trying a hard reset couldn't persuade the iPhone to connect to 3g for more than half a second.
I'll take it back to an o2 shop this week to see what they say, but I don't hold out much hope. Luckily there is no 3g where I spend most of my time so there's not much to miss.