I have written an authenticateuser.aspx page which will set theUserProfile.IsApproved = true so long as the passed guid is valid, exists and is not already approved etc.
One additional action I would like to take is to set my ApprovedDate in my profiles table to store the DateTime.Now in this column when the user has been approved.
my page_load looks like this:
protected void Page_Load(object sender, EventArgs e)
{
string qsGuidValue = Request.QueryString["guid"];
  ...
Go to the complete details ...