Actually, if you leave the seed (https://en.wikipedia.org/wiki/Random_seed) unchanged, a random algorithm keeps generating an exactly identical sequence of (pseudo)random numbers. Once you change the 'seed', the output changes as well. It'd be interesting to know whether Max/MSP, presumably written in C, uses rand() in its source code. For those not familiar with programming, rand() is a C function which doesn't really return "perfectly uniform results", so the output is somewhat biased - especially when used with a modulo operation. This guy tells it as it is:
He later says there's a new random distribution algorithm in C++11 whose output cannot be distinguished from true randomness, but yet these random number sequences are reproducible as long as the seed stays unchanged - here: https://youtu.be/LDPMpc-ENqY?t=17m00s