doh, i figured out the last problem. I didn't folow your directions well enough :)
I was creating a UserBase from HttpContext.Current.User.Identity
Instead I needed to build a UserIdentity from HttpContext.Current.User.Identity.Name, then build the new user base from that.
so the final form looks like
public IPrincipal Login(ILoginCredential credential, EntityManager entityManager)
var ident = new UserIdentity(HttpContext.Current.User.Identity.Name, "Custom", true);
var principal = new UserBase(ident);