I've spent some time debugging this using jsconsole.com and as far as I can tell window.requestFileSystem and window.webkitRequestFileSystem are both undefined.
Which would explain why I have issues with the file system.

I'm using Cordova 2.2.0 and XCode 4.5 for the iOS part.

Both the example and my own code is working on Android.

If any of you have any advice I'd really appreciate the positive effect it will have on my mental health!

This works on Android, after the click has been made, the file is downloaded and an img tag containing a reference to the path of the downloaded image should be inserted in the DOM.
I'm aware that this path isn't valid on iOS nor the correct one on a device with an SDcard, but the issue is occuring before this img tag is added.
This image should show that the javascript code works in Android ( taken of the Android Emulator ).

If you need further clarification or have questions I'll provide them as fast as I can.
Thank you for your time!