Index: wp-includes/comment.php
===================================================================
--- wp-includes/comment.php	(revision 17521)
+++ wp-includes/comment.php	(working copy)
@@ -213,6 +213,7 @@
 			'parent' => '',
 			'post_ID' => '',
 			'post_id' => 0,
+			'since' => '',
 			'status' => '',
 			'type' => '',
 			'user_id' => '',
@@ -230,6 +231,8 @@
 		if ( !$last_changed ) {
 			$last_changed = time();
 			wp_cache_set('last_changed', $last_changed, 'comment');
+		} elseif ( ( '' !== $since ) && ( $since > $last_changed ) ) {
+		  return array();
 		}
 		$cache_key = "get_comments:$key:$last_changed";
 
@@ -316,6 +319,8 @@
 			$where .= $wpdb->prepare( ' AND comment_parent = %d', $parent );
 		if ( '' !== $user_id )
 			$where .= $wpdb->prepare( ' AND user_id = %d', $user_id );
+		if ( '' !== $since )
+			$where .= $wpdb->prepare( ' AND comment_date_gmt > %s', $since );
 		if ( '' !== $search )
 			$where .= $this->get_search_sql( $search, array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_content' ) );
 
Index: wp-includes/class-wp-xmlrpc-server.php
===================================================================
--- wp-includes/class-wp-xmlrpc-server.php	(revision 17521)
+++ wp-includes/class-wp-xmlrpc-server.php	(working copy)
@@ -1059,7 +1059,9 @@
 		if ( isset($struct['number']) )
 			$number = absint($struct['number']);
 
-		$comments = get_comments( array('status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number ) );
+		$since = ( isset($struct['since']) ) ? $struct['since'] : '' ;
+
+		$comments = get_comments( array('status' => $status, 'post_id' => $post_id, 'offset' => $offset, 'number' => $number, 'since' => $since ) );
 		$num_comments = count($comments);
 
 		if ( ! $num_comments )
