Maybe the fact it says Beta on the OS should say something. Wait till the final release then try COD again.
Yeah, not good trying two beta's simultaneously.
Hey - that's not fair! One of them is actually a 'Consumer Preview'
..for Battle for Moscow.
I haven't tried the Win8 thing, but I bet it's something to do with CloD using .NET so much. Lots of other games seem to work well. If I were going to get it to work I would certainly look at 'pinning' the version of .NET that comes with the game rather than the newer 'beta' version that perhaps comes with Win8. You can do that using an file.exe.config (called a manifest files) and specify the run-time in there).
Either that or it's a permissions model fiddle again, and something isn't completed correctly with the install. Maybe run Steam as 'Admin' and try it again - that's what I would do.