Here is a URL that defines MTBF and gives the formula for how to calculate it for N items.
http://www.zzyzx.com/products/whitepapers/pdf/MTBF_and_availability_primer.pdf
They don't derive the formula, so let me do it here.
Define MTBF = the Mean Time Between Failures of a given device
By definition of the mean,
MTBF = n_operating_hours/nfailures in the limit as n_operating_hours goes to infinity. Note that implicitly this assumes the device is repaired or replaced as soon as it fails.
Now consider N identical devices all operating together. A failure is considered to be any single device failing. As they (by assumption) are operating independently of each other (that is there is no cross talk where one fails earlier because others are operating nearby), the number of failures in n_operating_hours will clearly be N*nfailures.
Hence MTBF of N devices is n_operating_hours/(N*nfailures) = MTBF/N
Q.E.D.
If this was the source of our difference of opinion on how to throw the random number to determine when the next device breaks, the above will hopefully clear it up.
Another possible source of the confusion is that the code is NOT trying to calculate the probability that a device breaks in a time delta_t. It is calculating the time the NEXT device breaks. That is why there is no possibility that two devices break in that time.