I found Random() to behave strange as well.
Used it in a class mod, to get %chance to apply custom scripted status, and was always unhappy with result.

Sometimes it just returns same values for like 20 times in a row, and only after that start working.
Had to add some "controled RNG" to prevent it from returning same values (using DB_Counters) and make some additional treshods.
Was working with flat Integer numbers 1-100.

Donno why it is so buggy, but think that is just smth we have to deal with.