Okay so I’ve patched the problem again, in addition to the showAction() method I mentioned above there is now a third location where the quiz questions are loaded from the db:
WpProQuiz_Controller_Front.ajaxQuizLoadData()
I applied the same simple shuffle and pairing down logic and everything is back as it was.
It is a little odd that the questions are being loaded twice in every call to a quiz. The initial call is useless as it just gets overwritten by the same call again in ajaxQuizLoadData().
Of course that was a solution to even stranger issue that without my little hack quizzes that should only show a specific number of questions do in fact show all without code modification.