Index: wp-admin/upgrade-functions.php
===================================================================
--- wp-admin/upgrade-functions.php	(revision 4254)
+++ wp-admin/upgrade-functions.php	(working copy)
@@ -504,7 +504,7 @@
 		$posts = $wpdb->get_results("SELECT ID, post_date FROM $wpdb->posts WHERE post_status ='future'");
 		if ( !empty($posts) )
 			foreach ( $posts as $post )
-				wp_schedule_single_event(mysql2date('U', $post->post_date), 'publish_future_post', $post->ID);
+				wp_schedule_single_event(mysql2date('U', $post->post_date), 'publish_future_post', array($post->ID));
 	}
 	if ( $wp_current_db_version < 3570 ) {
 		// Create categories for link categories if a category with the same
Index: wp-cron.php
===================================================================
--- wp-cron.php	(revision 4254)
+++ wp-cron.php	(working copy)
@@ -17,7 +17,7 @@
  			do_action_ref_array($hook, $args['args']);
 			$schedule = $args['schedule'];
 			if ($schedule != false) {
-				$new_args = array_merge( array($timestamp, $schedule, $hook), $args['args']);
+				$new_args = array($timestamp, $schedule, $hook, $args['args']);
 				call_user_func_array('wp_reschedule_event', $new_args);
 			}
 			wp_unschedule_event($timestamp, $hook, $args['args']);
Index: wp-includes/cron.php
===================================================================
--- wp-includes/cron.php	(revision 4254)
+++ wp-includes/cron.php	(working copy)
@@ -1,7 +1,6 @@
 <?php
 
-function wp_schedule_single_event( $timestamp, $hook ) {
-	$args = array_slice( func_get_args(), 2 );
+function wp_schedule_single_event( $timestamp, $hook, $args = array()) {
 	$crons = _get_cron_array();
 	$key = md5(serialize($args));
 	$crons[$timestamp][$hook][$key] = array( 'schedule' => false, 'args' => $args );
@@ -9,8 +8,7 @@
 	_set_cron_array( $crons );
 }
 
-function wp_schedule_event( $timestamp, $recurrence, $hook ) {
-	$args = array_slice( func_get_args(), 3 );
+function wp_schedule_event( $timestamp, $recurrence, $hook, $args = array()) {
 	$crons = _get_cron_array();
 	$schedules = wp_get_schedules();
 	$key = md5(serialize($args));
@@ -21,8 +19,7 @@
 	_set_cron_array( $crons );
 }
 
-function wp_reschedule_event( $timestamp, $recurrence, $hook ) {
-	$args = array_slice( func_get_args(), 3 );
+function wp_reschedule_event( $timestamp, $recurrence, $hook, $args = array()) {
 	$crons = _get_cron_array();
 	$schedules = wp_get_schedules();
 	$key = md5(serialize($args));
Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 4254)
+++ wp-includes/post.php	(working copy)
@@ -698,7 +698,7 @@
 
 	// Schedule publication.
 	if ( 'future' == $post_status )
-		wp_schedule_single_event(strtotime($post_date_gmt. ' GMT'), 'publish_future_post', $post_ID);
+		wp_schedule_single_event(strtotime($post_date_gmt. ' GMT'), 'publish_future_post', array($post_ID));
 		
 	do_action('save_post', $post_ID);
 	do_action('wp_insert_post', $post_ID);

