Future posts that are scheduled for the same time will step on each other in the cron queue. This can happen if someone schedules multiple posts with the same timestamp. This is actually pretty hard to do since we don't allow editing of the second in the timestamp. Instead, the second is picked up from the current time. Thus you would have to be saving posts that have the same hour:minute timestamp at the same second of any given minute. Despite the odds, people manage to hit that same second.
To fix, I've added another key to the cron array created from the args passed to the hook. While I was at it I versioned the cron array.