Quando você utiliza o recurso MySite as informações retornadas do serviço de UserProfile tem de estar preenchidas no perfil do usuário.
Nesse caso o código que você utilizou está correto.
Mas ainda existe um diferença de informações ao obter os dados do usuário.
Você ainda consegue obter os dados pelo contexto do site, no caso do usuário logado:
SPContext.Current.Web.CurrentUser.Email
Ou utilizar as Collections de usuários que também há no site:
SPContext.Current.Web.SiteUsers;
ou
SPContext.Current.Web.AllUsers;
ou
SPContext.Current.Web.Users;
Veja qual te atenderia e nos avise.
Abraços.