You have the general idea, Mark. Actually, it took a little more than an hour to write.
That last eval is only there because I wanted to break the program into separate lines - avoiding the wide UBB display annoyance. I had to escape all the backslashes between q* and *; because of that.
I made a program to create the encrypted message. First used sprintf to convert the "Yet another..." message to octal. Tacked the string "print eval" in front of that (with a little trick to get eval to work properly), then used sprintf again to convert that string to octal. Then used the y/// thingy to turn the octal representation to punctuation charaters. From there, it was pretty simple to add the decryption stuff.
I'll post the encryption and test code if anyone wants to see it.
The hard part was figuring when to escape and when not to escape.