You state in your rules that you should shuffle the question cards when the draw pile is exhausted. You should, in fact, NOT do this. There are a prime number (23) cards for a reason. If you never shuffle the cards, but keep them in the same order, then no one person will ever ask/answer the same question twice unless you go through the deck 23 times. In this way, there is never a chance of getting the same information from the same person.
I will admit that it is somewhat unlikely that a shuffle will lead to me asking/answering the same question (or, if we take it to the extreme, that *everyone* does), but NOT shuffling guarantees that it won't happen.
I will also admit that I do not have the rules in front of me. In fact, that's why I came here looking for them. But if the rules say to shuffle the question cards, I will simply ignore that rule.
Oh, and I also read in your rules that you do not look at your code if you guess *correctly*. According to the FAQ, you do.