The other day I finally decided to install Vista SP1 and update the drivers for the ancient Hauppauge Nova-T PCI tuner card I'm running. I was previously running the Vista RTM drivers instaleld by the OS but Hauppauge has released an updated set since then. SP1 went smoothly but the driver update was disastrous with SBS and Channel 9 disappearing completely. Re-scans weren't helping. Reboots weren't helping. The wife does watch Channel 9 so my manhood was at stake. Luckily a quick driver rollback fixed that one in a hurry but the growing lost channel problem led me to see if I could find anything new on Google since the last time I looked.
A few others seem to have this sort of problem but there doesn't seem to be a definitive answer out there. This title of this hotfix led me to breathe a sigh of relief until I noted it was included in SP1. Reading through and pretty much on a whim I thought I might try disabling actual stream opportunistic scanning, whatever that means, and lo, it did the trick. SBS and 9 came back and a few weeks on and I haven't lost SBS once!
As per the hotfix instructions (down the bottom), I created a new DWORD called DisableActualStreamOpportunisticScanning with a value of 1 under HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Media Center\Service\GLID
Apparently this key tells WMC to stop reading the latest channel info coming down from the station so in theory your channels might get stuffed up if the station changes some of this info. I'm not using a program guide at the moment but I don't think this has anything to do with program guides--it's more about the channel's meta data. Something like that. I don't really care but it worked!