Hola, la solución que se me ocurre es la siguiente:
-En tu BD, tendrías una tabla de usuarios que están en espera de la activación de su cuenta, con, logicamente, un nro de identificador unico. Lo que haría entonces es, un módulo en PHP que es el que activa ese usuario, ¿de que manera?....: bueno, este módulo, supongamos confirm.php, va a recibir como parametro de entrada, de forma encriptada, con lo cual tendrías que desencriptar dentro del módulo, el identificador del usuario que activa su cuenta, con lo que confirm.php busca en la tabla de usuarios pendientes, y da de alta este usuario en la tabla final de usuarios, y borra la entrada en la tabla "temporal".
Bien, entonces, cuando yo ingreso a tu sitio, y me registro, se crea mi usuario en la tabla "usuariosPendientes", en el cual se me asigna un id único, entonces vos pasas por un md5 el identificador (que va a ser el parametro de entrada al módulo) y el enlace para activar mi cuenta seria:
www.sitio.com/confirm.php?id=idencriptado, y me lo mandas a mi correo, y listo.
Creo que funciona.....

Contame despues