OK Great,
I'me calling both of thoose sp's like so:
Dim fbu As New graph.fbuser(True)
Dim Mu As MembershipUser = Membership.CreateUser(username, password, fbu.email, "Account set up from facebook, contact support.", "##############", True, Nothing)
Dim up As YAF.Classes.Utils.YafUserProfile = YAF.Classes.Utils.YafUserProfile.GetProfile(username)
up.Initialize(username, True)
up.SetPropertyValue("facebookID", fbu.id)
up.Save()
' setup inital roles (if any) for this user
RoleMembershipHelper.SetupUserRoles(1, username)
'Set the Avatar Img
Dim UserID As Integer = YAF.Classes.Data.DB.user_get(1, Mu.ProviderUserKey)
YAF.Classes.Data.DB.user_saveavatar(CObj(UserID), CObj("http://graph.facebook.com/" & fbu.id & "/picture"

, Nothing, Nothing)
YAF.Classes.Data.DB.user_save(UserID, 1, username, username, Mu.Email, Convert.ToInt32(fbu.timezone), CObj("english.xml"

, CObj(fbu.locale.Replace("_", "-"

), Nothing, False, True, True, True, True, False)
UserMembershipHelper.ClearCacheForUserId(UserID)
The problem is that for some reason my userID is always 0 so obviously user_saveavatar and user_save fail, upon stepping through it seems the row has not yet been created in yaf_User for this user.
I'm obviously missing something. Any Ideas?