Thanks seby, this got me a little closer towards a solution.
In the sense that it got me as far as identifying the next big problem (isn't it always the way...?)
I realise, now that the data's in the table, that the characters in the encrypted string are from all different character-sets, and couldn't be retrieved. I think that's the case because I formatted the string using htmlentities() this time, but when I looked at the database contents it still contained euro, Yen etc., and lots of unprintable characters.
I don't know if this is a limitation of PHP, MySQL or both, but I guess to store and preserve all content, I would need to systematically encode everything from every charset - which I get the feeling is just not gonna work (too much potential for error in the retrieval function, I would imagine).
If you know different, or can point me towards some relevant info about different charsets and related notation, I'd be grateful.