Usando tictacs de reloj como semilla de números aleatorios

Estoy utilizando las marcas de reloj actuales como una semilla para la generación de números aleatorios. El número aleatorio se usa en un pseudo GUID y una comprobación en mi base de datos se asegurará de que no exista antes de regresar. En promedio, este método se llamará alrededor de 10k veces seguidas durante la vida del proceso.

Mi preocupación es que se pueda generar un número idéntico en forma consecutiva, lo que resultará en varias llamadas recursivas innecesarias a mi base de datos que verifican la misma ID. Me gustaría evitar esto si es posible. ¿Cuál es la mejor manera de probar este escenario?

Si importa, la aplicación es .NET 4 y la base de datos es SQL Server 2008.

private static string GenerateUniqueDelId()
{
    // Generate a random integer using the current number of clock ticks as seed.
    // Then prefix number with "DEL" and date, finally padding random integer with leading zeros for a fixed 25-character total length.
    int seed = (int)DateTime.Now.Ticks;
    Random number = new Random(seed);
    string id = string.Format("DEL{0}{1}", DateTime.Today.ToString("yyyyMMdd"), number.Next().ToString("D14"));

    // Lookup record with generated ID in Sesame. If one exists, call method recursively.
    string query = "SELECT * FROM Lead WHERE Esm_Id = @Esm_Id";
    SqlParameter[] parameters = { new SqlParameter("@Esm_Id", id) };
    if (DataManager.GetRow(query, parameters, DelConnection.Sesame) != null) return GenerateUniqueDelId();

    // Otherwise, return ID.
    return id;
}   //// End GenerateUniqueDelId()

Respuestas a la pregunta(2)

Su respuesta a la pregunta