Ну есть же классический алгоритм тасования колоды
Сорри, это не совсем паскаль, но похоже
a:array[1..9] of integer;
for i=1 to 9 do
begin
t:=rand(i)+1; {t от 1 до i)
a[i]:=a[t];
a[t]=i-1;
end
Все. Быстро и надежно. За подробностями к Кнуту, по моему 2-ой том