Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 19599)
+++ wp-includes/user.php	(working copy)
@@ -716,6 +716,9 @@
 		}
 	}
 
+	if ( ! $blogs ) // No blogs means false.
+		$blogs = false;
+
 	return apply_filters( 'get_blogs_of_user', $blogs, $user_id, $all );
 }
 
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 19599)
+++ wp-admin/includes/user.php	(working copy)
@@ -291,12 +291,13 @@
 	clean_user_cache($id);
 
 	// FINALLY, delete user
-	if ( !is_multisite() ) {
-		$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d", $id) );
-		$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->users WHERE ID = %d", $id) );
+	if ( is_multisite() ) {
+		remove_user_from_blog( $user_id, get_current_blog_id() );
 	} else {
-		$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // wpmu site admins don't have user_levels
-		$wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id = $id AND meta_key = '{$level_key}'");
+		$meta = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->usermeta WHERE user_id = %d", %id ) );
+		foreach ( $meta as $mid )
+			delete_metadata_by_mid( 'user', $mid );
+		$wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->users WHERE ID = %d", $id ) );
 	}
 
 	// allow for commit transaction
