Well, I've finally gotten to the bottom of this. I knew it should have been working.
I'd forgotten that I'd been testing the last nightly build of the SDK flex_sdk_3_192625 With this SDK it was always throwing an error, but as soon as I switched back to M4Beta3 all was well. LOL, Thanks for everyone who told me the correct method (the same one's I was using) and wondered why I didn't seem to be able to get it! The lesson is - remember to check your SDK build before pulling your hair out! Thanks