По моему вообже не надо никаких новых функций, до этого мы еще вчера с SubZer0 додумались, надо просто вызывать функцию Rnd следующим образом:
Rnd(0.5,3.5)
или
Rand(1,3)
и все, а на счет вероятностей появления того или иного числа, то в блитце, по моему, нет никакой кривой и все появляющиеся цифры равновероятны.
Просто в твоем первом примере на числа 1 и 2 отводился промежуток в два раза меньше, чем на 2 (от 1 до 1.5 - для единици, от 1.5 до 2.5 - для двойки и 2.5 до 3 для тройки).