Actually my old iPhone original didn't have this problem, nor did my friend's iPhone 3G. Nor does my panasonic lx4 (nor of course my Nikon d300). My iPhone 4 is truly terrible in this regard.
It would seem that the fix would be easy: give the user a few pre-set white balance settings to choose from, for extreme circumstances.