I have a completely different experience. I'm just back from the World Cup and using the iphone app, I was able to get logged onto the internet in loads of places in South Africa and it only cost me £3.50 for a one month's subscription.
I was in Cape Town, Port Elizabeth, Durban & Joburg and had no issues finding hotspots there, I just looked up where they were beforehand.
At the end of the month I couldn't cancel by phone, but it was done quickly by email and I didnt have any problems. I would certainly be using them again the next time I go abroad. £3.50 for a month is a damn sight cheaper than o2's ridiculous £6 per MB roaming charges.