En mi caso lo quer haría es lo siguiente:
1.- Registrar al usuario
2.- Guardar la info en la BD y tener un campo de tipo bit que guarde por default un 0 para indicar que todavía no está dado de alta.
3.- Enviar el mail al usuario con un link pasandole un parámetro id que que va a ir apuntando a mi pagina aspx
4.- Recogo en mi página el id
5.- Checo que ese ID exista en la BD y si existe poner ahora en el campo bit un 1 para indicar que ya confirmó.
Nota: El link puedo hacerlo popup para que cuando termine de ejecutarse se cierra automático y el usuario no lo vea, o la otra es redireccionarlo a una página avisando que ya está confirmado su registro.
Por seguridad puedes hacer un código que genere un ID o toma el mismo que SQL server genera (uniqueidentifier).
Ya que si haces un ID consecutivo (pagina.aspx?id=1,2,3, etc..) puede haber un usuario que lo haga manualmente por probar y puede que nos afecte, pero bueno.. esas ya son cosas de seguridad.
Salud2 y espero que te haya dado la idea