Then there is the issue that I see mentioned that the old way of enabling pull-up resistors (set mode to INPUT and doing a digitalWrite HIGH to the pin) no longer works, and you have to set the mode to INPUT_PULLUP.
Have you actually verified this statement?
The old way still works perfectly fine, if done as you described, first pinMode(pin, INPUT); then digitalWrite(pin, HIGH); Virtually all libraries and sketches that use pullups do it in that order.
The 1.0.1 change does break doing it in the reverse order, first digitalWrite and then pinMode. This feature has existed in Teensyduino for almost 3 years, and I have personally surveyed almost all major Arduino libraries. Breaking the reverse order has minimal impact, only because almost nobody has actually written their code that way.
Also it bugs me that the IDE is shipping a 4 year old GCC that is 4 major releases out of date. I could see shipping 4.6,x (4.7.1 is the current release), but 4.3.2 is a little old.
Have you tried those versions with Arduino?
I regularly answer questions from Linux users with broken 4.6 and 4.7 toolchains. Gentoo and Arch are the worst. Just because it's newer doesn't mean it works well. In fact, many of the latest gcc versions were obviously only tested well on X86 and maybe ARM, but break horribly on AVR.
Is there really anything highly compelling about these newer versions? Does any version have the new Named Address Spaces feature AND backwards compatible PROGMEM support, and actually work reliably?