I have come up with a working solution to this problem. I would appreciate anybody else having the problem posting here if this works for them as well.
You must replace /wp-includes/cron.php with the previous version (WordPress 2.6.3) and the problem will go away. Only replace that one file. No other changes are needed.
I have not figured out why 2.7 works in XP but not Vista. I'm guessing that there's a setting in Vista that needs to be changed (e.g. Firewall, UAC, virus protection) to make this work but have not been able to solve it that way.
I noticed the version in WordPress 2.7 does not contain the following code that is in 2.6.3:
if ($parts['scheme'] == 'https') {
// support for SSL was added in 4.3.0
if (version_compare(phpversion(), '4.3.0', '>=') && function_exists('openssl_open')) {
$port = isset($parts['port']) ? $parts['port'] : 443;
$argyle = @fsockopen('ssl://' . $parts['host'], $port, $errno, $errstr, 0.01);
} else {
return false;
}
} else {
$port = isset($parts['port']) ? $parts['port'] : 80;
$argyle = @ fsockopen( $parts['host'], $port, $errno, $errstr, 0.01 );
}
I don't know if this has anything to do with it, but that's just one difference.