http://msdn.microsoft.com/en-us/library/6tc47t75%28v=VS.80%29.aspx
http://msdn.microsoft.com/en-us/library/ms366730.aspx
You need to return a MembershipUser instance in the function which is the return type for it. Currently it isn't returning what it is supposed to return.
There is a good tutorial at codeproject : Custom Membership Providers. You might find it helpful in understanding where you aren't getting right.
You should not create a new method that return CustomMembershipUser.
You should have only MembershipUser CreateUser(...) in the custom membership provider. Before your return you need to cast the CustomMembershipUser to be MembershipUser.
E.g. out following when you return.
return (MembershipUser)new CustomMembershipUser();