Как ты определяешь плохой вариант от хорошего?
чем используемый тобой вариант из
The Central Randomizer:

Код AS3:
seed = (seed * 9301 + 49297) % 233280;
отличается от варианта который используется в Apple CarbonLib и C++11:

Код AS3:
seed = (seed * 16807) % 0x7fffffff;
в Microsoft Visual C/C++:

Код AS3:
seed = (seed * 214013 + 2531011) % 0x7fffffff;
я не понимаю критерий твоей оценки