Index: wp-admin/includes/bookmark.php
===================================================================
--- wp-admin/includes/bookmark.php	(revision 20781)
+++ wp-admin/includes/bookmark.php	(working copy)
@@ -188,7 +188,7 @@
 	}
 
 	if ( $update ) {
-		if ( false === $wpdb->update( $wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_rating', 'link_rel', 'link_notes', 'link_rss'), compact('link_id') ) ) {
+		if ( false === $wpdb->update( $wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss'), compact('link_id') ) ) {
 			if ( $wp_error )
 				return new WP_Error( 'db_update_error', __( 'Could not update link in the database' ), $wpdb->last_error );
 			else
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 20781)
+++ wp-admin/includes/user.php	(working copy)
@@ -269,8 +269,22 @@
 		}
 	} else {
 		$reassign = (int) $reassign;
-		$wpdb->update( $wpdb->posts, array('post_author' => $reassign), array('post_author' => $id) );
-		$wpdb->update( $wpdb->links, array('link_owner' => $reassign), array('link_owner' => $id) );
+		$post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id ) );
+		if ( !empty( $post_ids ) ) {
+			foreach ( $post_ids as $post_id )
+				wp_update_post( array(
+					'ID'          => $post_id,
+					'post_author' => $reassign,
+				) );
+		}
+		$link_ids = $wpdb->get_col( $wpdb->prepare("SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $id) );
+		if ( !empty( $link_ids ) ) {
+			foreach ( $link_ids as $link_id )
+				wp_update_link( array(
+				    'link_id'    => $link_id,
+				    'link_owner' => $reassign
+				) );
+		}
 	}
 
 	// FINALLY, delete user
