Dipende dal microtime() usato per generare il codice random, una minima variazione temporale e il risultato cambia. Hai provato comunque il controllo nel tuo script, funziona?