While I've used everything from TurboPascal to Visual C++ to Borland C to VisualBasic for DOS, many newcomers to MCUs have no computing / developer background at all.
The ability to just select a Blink sample from the menu and make it run is a huge ease-of-entry factor.
Actually I'm looking forward to Energia's success, the reason being that a bunch of Arduino fans will then move over to the much cheaper MSP430 and carry their code and their ideas over with them.
I have to admit I like being able to google pretty much any random sensor or IC I want to interface with the MCU,
and find Arduino code or libraries for it, along with all the newbie mistakes others made trying to use it.
If the user-base consists of experts, on the other hand, they don't blog about basic mistakes so much. Hence, every new experimenter, however much of an EE expert, ends up re-making some mistakes.
My current big pain point with the MSP430 family is the lack of cheap MOSFETs I can switch directly with 3.3 Volts.
Well, I rarely use libraries directly, my preferred model is to look at the code, figure out all the gotchas and work-arounds, and then either rewrite, or copy-paste to my liking.
So I don;t recall having seen any incompatibilities at the library level.
Bidirectional level switcher ICs. 1-bit and 8-bit ones. Not expensive. Buy them by the dozen. :-) But not ideal when component count becomes a constraint.