I understand how the puzzle was solved, but I have two problems with it.
1. shouldn't be able to make up words "iff"
2. the second question "...iff Rome is in Italy" isn't logically correct. Can't assume Rome is in Italy
I figured out the 3 component puzzles before reading on and got answers using XOR instead. Being a computer science major, I thought of XOR before XNOR (XNOR is iff). It works out the same, just reversed.
Still, Boolos limited himself in his choice of questions; if you ask True or False what Random says next, they can only be silent.
I don't know why he assumes the False god would lie about a biconditional (or, for that matter, any compound proposition) but not about its constituent propositions. In [S <-> P], there are 3 propositions in question: S, P, and [S <-> P]. It makes as much sense, if not more, to assume False would lie about all 3. It doesn't effect his conclusion, but still...
Eh, I was going to maybe write and ask him but I see that's unfortunately not possible. Great puzzle still.