I had taken a break from writing C-code when I looked at it, so I was still in the mind set of "short-circuit" logic, where A&&B would not evaluate B if A is false, but would if A is true, and I was assuming B would go into "infinite recursion."
But you are right, in standard logic, which is more appropriate, the use of the conjunction would a allow a decidable answer.
I like you solution a lot better, the assumption of Gods not being able to predict the answer for Random seems very reasonable to me. It would be interesting to find out if that's true.
In fact, it is so simple and clear, I think it is worthy of commendation even if not correct.
Edit: Point of clarification: I think Color's solution is correct. Just waiting on Merkw.