una ves que registras al usuario, grabas en un campo (Gen) parte de la URL. Este puede ser el MD5(codusuario+email+random(10000)+datetime) como quieras...
luego de grabar los datos del usuario , debes colocarle al registro con un estado = 0... (no tendra acceso hasta que confirme desde su mail, estado=1)
Ahora... cuando le envias un email tienes que enviarle asi:
www.sitio.com/confirmar.php?gen=<% echo Gen; %>
... cuando el usuario haga click en el link, tu solo haces en la página confirmar.php una consulta simple, donde el criterio sea el campo "Gen" de la tabla y el Gen enviado por URL
si es correcto le cambias el estado a 1 y listo...
Saludos.