Si hai capito bene, microsecond() lavora sui microsecondi, time() sui secondi, quindi è molto meno probabile la contemporaneità con microsecond().

Applicare substr() come hai scritto nell'altro post non serve, md5() tira fuori sempre stringhe da 32 caratteri.