Once I read "Vista" in your post, I immediately felt sorry for you! :p
Seriously, though, I would immediately blame Vista for a problem like this. Have you tried disabling the firewall? Have you tried stopping the Apache service, navigating to where Apache is installed, right-clicking on the "Apache.exe" file, and running it as an Administrator (or elevated privileges, or whatever Vista calls it)?
If 'http' is showing up in phpinfo() as a registered stream type, and phpinfo() also shows that allow_url_fopen is On (did you check this in phpinfo() - not just the php.ini file?), then it seems very likely that the OS is blocking the outgoing HTTP connection.
Also, as a side note... there's really no reason to use fopen() in this case if you're trying to retrieve an HTML document from your own server. :p