I had this exact problem on my old PC. It took me about 1 month until I solved it. Simply to disable the UAC (User Account Control).
How to disable UAC (Vista)1. Launch MSCONFIG by from the Run menu.
2. Click on the Tools tab. Scroll down till you find "Disable UAC" . Click on that line.
3. Press the Launch button.
4. A CMD window will open. When the command is done, you can close the window.
5. Close MSCONFIG. You need to reboot the computer for changes to apply.
How to disable UAC (Win7)1. To user Control Panel to disable UAC in Windows 7, there are several methods to access the User Account Control settings page:
Go to Start Menu -> Control Panel -> User Accounts and Family Safety -> User Account.
Go to Start Menu -> Control Panel -> System and Security -> Action Center.
Click or right click on Flag icon in notification area (system tray), and then Open Action Center.
Type “MsConfig” in Start Search to start System Configuration, then go to Tools tab, select Change UAC Settings, then click on Launch button.
2. Click on User Account Control settings link.
3. Slide the slider bar to the lowest value (towards Never Notify), with description showing Never notify me.
4. Click OK to make the change effective.
5. Restart the computer to turn off User Access Control.
The how-to was taken from http://www.mpgh.net/forum/227-call-duty-mw2-discussions/117556-call-duty-mw2-error-connection-problems.html
And if this solution somehow didn't work, there's a bunch of other solutions there.