Вопросы из базы нужно тестировать только в том случае, если рандом полный и абсолютный. Сами понимаете, в базе может быть всё что угодно. Такое не хотите?
http://db.chgk.info/question/smcat01.1/1 
Считаю, нужно перед туром делать определённые хитрые запросы:
1) Следить за возрастом вопроса: вопрос моложе 2013 года кто-то в зале может помнить по турниру, где он игрался, а вопрос старше определённого года (на мой вкус, 2006) может оказаться чрезмерно олдскульным.
2) Можно делать запрос только по определённому автору. Тогда можно будет избежать сложностей. К примеру, проводить игры только на старых вопросах конкретно Константина Науменко, Бориса Моносова, Михаила Перлина и других топов, на усмотрение команды. В базе можно задать авторство.
3) Исключать вопросы с ЧМ и прочих подобных топовых очников. Эти вопросы часто хороши, но очень уж жестоки. Разумеется, по очевидным причинам исключать пакеты Балтийского Берега и Бархатных Сезонов. Если авторы совсем уж боятся свечек, рекомендуется делать выжимку только из очных турниров (конечно, не топовых - например, различных фестивалей).
4) Для надёжности можно брать вопросы старых студенческих турниров, хотя есть риск, что какая-то из команд периодически тренируется. Тогда, очевидно, это происходит именно на этих вопросах.
Всё это можно прописать в запросе при поиске в базе. Пункт 3 самый трудный, но тоже реализуемый в запросе.
После этих простых мер можно набирать пакет даже вслепую, не опасаясь различных казусов вроде того вопроса, который я привёл выше. А увидел я его в ночь с субботы на воскресенье, ради интереса нажав "случайный пакет" в базе.
Вообще, тренеры обычно очень тщательно отбирают вопросы для тренировок. И чаще всего именно по подобным критериям. Не вижу, что может помешать таким же способом собирать пакеты чемпионата.