I have spent a fair old time on it myself.
I started messing with random stuff on a Commodore VIC 20 (back when there were still wooly mathoths wandering about)
1981 I think it was.
The random number generator in that wasn't too bad if you reseeded to the timer. If you didn't reseed it regularly it would generate a sequence of numbers that would repeat after about 64,000 calls on the rnd function. It was pretty easy to see the pattern by making graphics move about.
Using "randomize timer" (yes it was exactly the same syntax even back then) it was impossible to see any visible pattern.
Later I bought an Atari 800 thinking it would be better (more memory. faster processor and all that) It sucked! <_< The random sequence repeated every 16,000 calls and there was no "randomize timer" function at all! :angry:
By the time I had an Atari ST and an Amiga in the very late 80s, the random functions were good enough that I had to work really hard to find the patterns. With randomize timer I couldn't detect any at all, no matter how long I sampled random numbers.
With the PC I haven't done any really large studies but I have yet to see the sequence repeat either with or without "randomize timer" so in that respect it really doesn't need to be called more than once.
However, the fact that putting in the same seed number twice gives an absolutely reproducable simulation kind of proves that the numbers aren't truly random. But then we all knew that anyway didn't we.
Putting "randomize timer" into the program once and storing the value is just the same as manually seeding it except you don't get the choice initially. But the sequence is reproducable so long as you know the seed.
Using "randomize timer" on every cycle makes the whole thing utterly unpredictable. It is the closest thing to true random numbers that you will ever get from a PC since it is constantly reseeded by numbers that are beyond anyones control or knowledge, or even ability to calculate. You cannot possibly know what the timer will read in 100 game cycles from now.
For a start it will run at different rates on different computers. Secondly, the slightest fluctuation in any of 100s of different factors can momentarily slow down the PC so that the next seed will be something other than what you predicted.
Windows runs so much crap in the background that one or other of the myriads of processes going on, is going to grab just that little bit more processor power for a nanosecond and screw up the timer by a tiny fraction.
Basically it is just a whole lot more random that way even if you can't really tell the difference. :)