Я бы сделал то же самое, но не на базе времени, а на базе id с базы данных.
То есть, мы не светим сам id по условиям задачи и результат всегда гарантированно уникален.
Так же можно к нему добавить тот же rand(10,99) если не хочется что бы заказы друг за другом ровно шли.