Adrian, yes libraries can be very difficult. Here is a link to our Simulator for Arduino http://www.virtronics.com.au/Simulator-for-Arduino.html
In the Simulator, with libraries, we have a subfolder call Libraries where there are some sample libraries. There is also the AVR folder copied as a subfolder since there are AVR/file.h includes are very common. On the forum, someone recently asked for the <AVR/wdt.h> library to use the wdt_enable() function. This one header file imports another half dozen header files and the wdt_enable() function is actually a ten line macro.
Apart from the library issue, how do you find the Codeblocks IDE? The Simulator seemed a bit limited but very functional for what was there.
With the Arduino IDE, the run as Administrator can be annoying (ie crashes unless run as an administrator) and can be very slow on an old computer. Looking forward to the official 1.5 release which will have all Arduino boards including the Due which is really good.