Generally I'm quite impressed with the work they've done on Whidbey thus far, but I feel some things could have been done better.
The MembershipProvider framework, works quite well in simple scenarios, but I find it too rigid to be really usefull.
My main concern is the use of a MembershipUser class in the UpdateUser method, which makes using a derived class less easy, for example a MembershipUser class with a birthdate or a PIN code. Same goes for the CreateUser method, only it takes strings as parameters representing all the properties of MembershipUser, why not a MembershipUser?
Another problem is the requirement to implement all methods, all methods on the MembershipProvider are marked abstract. In most cases I don't have the need to use a Question and Answer system to retrieve or reset a password. Not implementing GetPassword(string username, string answer) and ResetPassword(string username, string answer), for example by throwing a NotImplementedException, and relying on the documentation, is a maintenance disaster waiting to happen.
A better solution, I think would have been to use Interfaces for both base classes, those are much easier to extend and less usefull methods can be hidden by implementing them explicitly in yout customg provider, i.e. IMembershipProvider.ChangePassword(string username, string oldPassword, string newPassword).