вам нужно убрать "." (точка) в вашей функции. вы, вероятно, используете INT, который удаляет цифры после точки.
return str_replace('.', '', date('dmYHis').$duration);
и убедитесь, что поле достаточно большое - как varchar (50)
Я бы порекомендовал просто хэшировать идентификатор клиента с помощью md5
.
md5($clientid)
и у вас есть поле mysql в виде символа (32)