Acostumbro utilizar la funcion CreateUUID()para crear un numero unico para Id, el unico problema que es un valor hexadecimal.
Para evitar la consulta al unisono por parte de varios clientes poderias utilizar um cflock,el nombre podia ser dado por la funcion anterior, espero haber ajudado em algo