Math.random () создаст число от 0 до 1 (не включая 1). Таким образом, ваш код будет создавать значение между 0 и i, с меньшим шансом получить 0 и i по сравнению с другими значениями в диапазоне (он будет округляться только до 0 на 0,5 или менее, и до 'i' на «я» - 0,5 или более).
Лучше использовать
public function getRandom(from:uint, to:uint):uint {
return Math.floor(Math.random()*(to-from+1))+from;
}
(IIRC).