This is very odd.
Permissions make almost no difference to what happens when at attempt at some questions is started. Well, that is not really true, but they make no difference to how the choices of a multiple choice question are loaded and shuffled.
So, I don't understand why it works for admins but not for students. Are you sure the situation is not: it works for new attempts created now, but does not work for attempts created before the upgrade?
The upgrade from 2.2 to 2.3 did not do very much quiz-related. I am just looking through mod/quiz/db/upgrade.php.
Ah, you might be suffering from a similar problem to MDL-32727, and the work-around we put in place to fix that issue may have caused bigger problems for you. Would you be able to run this database query: http://docs.moodle.org/dev/Overview_of_the_Moodle_question_engine#Detailed_data_about_an_attempt to extract the data for one of the affected quiz attempts, and then attach it here, or email it to me. (Note that the
timestamptz 'epoch'+ qas.timecreated * interval '1 second',