Index: wp-includes/registration.php
===================================================================
--- wp-includes/registration.php	(revision 15432)
+++ wp-includes/registration.php	(working copy)
@@ -278,15 +278,14 @@
 	$user_id = wp_insert_user($userdata);
 
 	// Update the cookies if the password changed.
-	$current_user = wp_get_current_user();
-	if ( $current_user->id == $ID ) {
+	if ( get_current_user_id() == $ID ) {
 		if ( isset($plaintext_pass) ) {
 			wp_clear_auth_cookie();
 			wp_set_auth_cookie($ID);
 		}
 	}
 
-	return $user_id;
+	return ( is_wp_error( $user_id ) ? 0 : (int) $user_id );
 }
 
 /**
@@ -309,7 +308,8 @@
 	$user_pass = $password;
 
 	$userdata = compact('user_login', 'user_email', 'user_pass');
-	return wp_insert_user($userdata);
+	$user_id = wp_insert_user($userdata);
+	return ( is_wp_error( $user_id ) ? 0 : (int) $user_id );
 }
 
 
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 15432)
+++ wp-admin/includes/user.php	(working copy)
@@ -183,6 +183,7 @@
 		$user_id = wp_update_user( get_object_vars( $user ) );
 	} else {
 		$user_id = wp_insert_user( get_object_vars( $user ) );
+		$user_id = is_wp_error( $user_id ) ? 0 : (int) $user_id;
 		wp_new_user_notification( $user_id, isset($_POST['send_password']) ? $pass1 : '' );
 	}
 	return $user_id;
