Hi.
I have the same issue. I have an iPhone 5 and just took delivery of an iPhone 5s. Both are unlocked and direct from Apple. I use a PAYG nano sim from Tesco Mobile (O2) and neither show the balance after texts, calls or by using the show balance tag (*#10#). If I use *#10# I get a translucent grey screen with the working, swirling symbol and then the overlay quits back to the underlying screen without stating the balance.
The iPhone 5 worked fine on iOS 6.x but on updating to iOS7 via iTunes (restore mode as I had battery issues on a device based update) I got a carrier settings update shortly after installing iOS7.
When I received the iPhone 5s I moved the sims across, connected to iTunes, restored settings from my old iPhone 5 and then got an immediate iOS7.0.2 update and a carrier settings update.
I'm not sure if the carrier settings changes have done this?
I note that the Giff Gaff forums (also O2) are full of this too. I think it must be an O2 issue.
I called Tesco Mobile and got the handset guys. They didn't know what I was on about or the *#10# code. Amazing! They said its probably been blocked as old and irrelevant! They said to text 'Balance' to 2112 - not helpful as this only gives you the bundle status and free credit status. Or install the tesco mobile app - not helpful as it is only for pay monthly customers! So those guys were useless.
I have now raised an online ticket with Tesco Mobile, hopefully I will get more sense out of that lot! 48 hours response time though.
The only way to check the balance currently is to login to your PAYG account.