Errr… Well, if that’s the case, then there’s no problem. wp-cron should be working correctly.
Are you sure that wp-cron.php is in the main wordpress directory of your website?
Another test: If you edit wp-cron.php, you’ll find these two lines:
if ( $_GET['check'] != wp_hash('187425') )
exit;
If you remove those two lines, save it, then hit wp-cron.php manually from a web browser, then it will process the waiting jobs. This includes publishing any future posts that are ready to be published.
Those two lines are there specifically to prevent you from manually running it, as somebody could cause a Denial of Service attack on your site without them. So after you’ve run it manually and confirmed that it works correctly (causing waiting future posts to publish), then put those lines back in.