Lots of strange behaviour with O2 and iPhone at the moment
I was in Joburg with my O2 pay-as-you-go iPhone when the roaming problems cropped up. Couldn't top up for some reason, so had no credit on the phone whatsoever. Couldn't get any network signal, yet remarkably data worked absolutely fine, emails coming through, could browse the interweb, all seemingly for free, as there was no credit on the phone to pay roaming charges!!
Spending the last couple of days in London with the phone was a nightmare. Patchy or non-existent cover, 3G constantly dropping out to edge or worse, even when there was a 3G signal, mail and web apps would just sit trying to connect. Restarting phone, or toggling 3G on/off seems to help sometimes but not always.
Can't believe the problem is the iPhone, as back home in the midlands it usually works just fine, London just seems to be particularly bad for some reason.