NO mencionas que debas almacenar las respuestas que de un usuario... así que yo creo que podes usar el modelo de una tabla, quizas con otro campo que te indique cual es la respuesta correcta.
En lugar de hacerlo con controles asociados a datos, podrias tener 4 checBox y asociarles las descripciónes al momento de leer un nuevo registro.
Para generar aleatoriamente la pregunta, podes tener un campo que numere las preguntas (que además sería la llave primaria), hacer un select max(numpregunta) para saber el número máximo de preguntas, luego generas un número aleatorio entre 1 y ese número y haces el query directamente sobre ese registro...
hasta luego.