SharePoint uses the SharePoint user's "Name" field to populate the value in the top right. This is what's happening with your custom development right? Because out of the box, the webparts and management pages should set these values and they
should be displayed in SharePoint.
SPContext.Current.Web.CurrentUser.Email should work, assuming you're running in the context of a logged in user and the email address has been set. If you're not running in the context of a logged in user, you'll have to use something like this to get the user:
Same thing goes for the membership functions - they'll never know who the current user is, because SharePoint doesn't use the standard membership authentication cookie. You'll need to do something like this: GetUser(userName,false).
I would suggest you deploy the standard fba pack, and then you debug it with Visual Studio to see how it works.