Я бы делал следующим образом:
1. каждый вопрос делал бы в виде записи: текст вопроса, три ответа, причем правильный ответ всегда первый
Код:
type
_question = record
_text : string;
_answers : array [1..3] of string;
end;
2. далее сделать процедуру вывода вариантов ответа в произвольном порядке, например нечто подобное (выглядит дико, но всё же рабочая версия)
Код:
procedure TForm1._shuffle();
var
_i : integer;
_s : string;
begin
randomize;
_s := '123';
_i := random(3)+1;
label1.Caption := _q._answers[strtoint(copy(_s,_i,1))];
delete(_s,_i,1);
_i := random(2)+1;
label2.Caption := _q._answers[strtoint(copy(_s,_i,1))];
delete(_s,_i,1);
label3.Caption := _q._answers[strtoint(_s)];
end;
3. и наконец, проверять ответ, скажем, вот так - щелчком по Label определять его Caption и сравнивать с правильным ответом