There's gotta be a solution for this. Locking up at the most inopportune time (middle of a quiz) give us terrible PR and really disrupts academic use.
I notice there are a number of row-locks in our database around the time quiz's run. (we're running cron every 15 minutes and I ses a # of row locks and the row lock wait time increases dramatically after quiz use.)
I'm contemplating upgrading to 2.4 next term to address quiz performance in particular, but if you're not seeing drastic improvements I better look into alternative solutions as well.
Just a question, how many buffer pools and what's the size of your buffer pools in mysql?