Apple made a press release here:
wah wa wah wah wahh
interesting bit:
We have discovered the cause of this dramatic drop in bars, and it is both simple and surprising.
Upon investigation, we were stunned to find that the formula we use to calculate how many bars of signal strength to display is totally wrong. Our formula, in many instances, mistakenly displays 2 more bars than it should for a given signal strength. For example, we sometimes display 4 bars when we should be displaying as few as 2 bars. Users observing a drop of several bars when they grip their iPhone in a certain way are most likely in an area with very weak signal strength, but they don’t know it because we are erroneously displaying 4 or 5 bars. Their big drop in bars is because their high bars were never real in the first place.
wah wa wah wah wahh wah wa wah wah wahh wah wa wah wah wahh. wah wa wah wah wahh………………..
OK, lets break it down so the dung beetles can carry it away easier.
‘Our formula, in many instances, mistakenly displays 2 more bars than it should for a given signal strength.’
1. ‘many instances‘, this means that the iPhone 4 has been released in a number of different models, using different code… something that should be reflected in any kind of version output on the device or the serial number or some other way of identifing it. If the device cannot output different version/model numbers, then it can in effect, never be updated with software fixes… So apple could in theory, release a list containing the affected versions of the device, if there are indeed, different versions.
2. ‘Our formula,…, mistakenly displays 2 more bars than it should‘, errrr. Isnt that the point of a fomula, its a constant, more a set of rules for working out any given number of results by applying the same rules to the input values. Either thats bollocks, or your trilby wearing iDevelopers are shit at math.
Try again apple, we aint eating your gone off fruit and stop treating your customer base like iDiots.

