Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 20574)
+++ wp-includes/user.php	(working copy)
@@ -652,7 +652,7 @@
  *
  * @param int $user_id User ID
  * @param bool $all Whether to retrieve all blogs, or only blogs that are not marked as deleted, archived, or spam.
- * @return array A list of the user's blogs. False if the user was not found or an empty array if the user has no blogs.
+ * @return array A list of the user's blogs. An empty array if the user doesn't exist or belongs to no blogs.
  */
 function get_blogs_of_user( $user_id, $all = false ) {
 	global $wpdb;
@@ -661,11 +661,11 @@
 
 	// Logged out users can't have blogs
 	if ( empty( $user_id ) )
-		return false;
+		return array();
 
 	$keys = get_user_meta( $user_id );
 	if ( empty( $keys ) )
-		return false;
+		return array();
 
 	if ( ! is_multisite() ) {
 		$blog_id = get_current_blog_id();
@@ -745,10 +745,7 @@
 		$blog_id = get_current_blog_id();
 
 	$blogs = get_blogs_of_user( $user_id );
-	if ( is_array( $blogs ) )
-		return array_key_exists( $blog_id, $blogs );
-	else
-		return false;
+	return array_key_exists( $blog_id, $blogs );
 }
 
 /**
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 20574)
+++ wp-admin/includes/user.php	(working copy)
@@ -264,12 +264,14 @@
 	}
 
 	// FINALLY, delete user
-	if ( !is_multisite() ) {
-		$wpdb->delete( $wpdb->usermeta, array( 'user_id' => $id ) );
+	if ( is_multisite() ) {
+		remove_user_from_blog( $id, get_current_blog_id() );
+	} else {
+		$meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
+		foreach ( $meta as $mid )
+			delete_metadata_by_mid( 'user', $mid );
+
 		$wpdb->delete( $wpdb->users, array( 'ID' => $id ) );
-	} else {
-		$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // wpmu site admins don't have user_levels
-		$wpdb->delete( $wpdb->usermeta, array( 'user_id' => $id , 'meta_key' => $level_key ) );
 	}
 
 	clean_user_cache( $user );
Index: wp-admin/includes/ms.php
===================================================================
--- wp-admin/includes/ms.php	(revision 20574)
+++ wp-admin/includes/ms.php	(working copy)
@@ -160,7 +160,10 @@
 		}
 	}
 
-	$wpdb->delete( $wpdb->users, array( 'ID' => $id ) );
+	$meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) );
+	foreach ( $meta as $mid )
+		delete_metadata_by_mid( 'user', $mid );
+
 	$wpdb->delete( $wpdb->usermeta, array( 'user_id' => $id ) );
 
 	clean_user_cache( $user );
