There seem to be a lot of problems with this library - often it seems to do the wrong thing despite you having written the data correctly - are there any 'magic' undocumented things you just need to know to get it to work or is it just full of bugs?!
I've come across some which Im going to post as an answer but any more 'gotchas' other people have found would be useful