Алгоритм полного перебора, мягко говоря, неоптимален по времени.
+1
Если вы боитесь переполнить unsigned int (а это 4294967295 объектов), то подумайте над производительностью вашего алгоритма генерирования ID. Ва нужно будет всегда пробегать по всем объектам и искать повторения.
Но, ваш алгоритм можно улучшить, путем хранения ID в списке и предварительной его сортировки перед началом его работы.