Well, it might be safe to say that Apple's own engineers stopped testing their Apple apps with 3.x iOS devices, and have created bugs that make these apps unusable. This is to be somewhat expected, Apple has a track record of not-so-great backwards compatibility (on the Mac), but what we also expected was to not get these broken updates forced to us. It's one thing to stop updating the firmware of older iOS models, and another thing breaking them.

That is all just about compilation which doesn't really check if things work, just that the API you are using is available on that older version. To check properly you have to test on actual hardware. There is however nothing stopping building against 4.2, yet having the minimum target set to 3.0, which is an option and then just installing on a 3.x device and testing. 3.0 may be the lowest version that can be targeted now though.