I'm constantly installing/re-installing/setting up operating systems for people, so I make it a regular point to test all the major players in the AV and Anit-Mal-ware business and at this point my personal reccomendations are;
AVG-Free for free AV, Bitdefender Pro for Pay for play. In test both catch 100% of common and not-so common viruses, beating out even the top two AV programs in most cases.
For Mal-ware, at the moment, Microsoft's tends to catch the most, and it's still free. Pay for play I'd have to go with Spysweeper or Computer Associate's spyware scanner.
Microsoft One Care is in Beta, and free at the moment. It covers virus, spyware, and has a two way firewall (basically an add-on for the current firewall built into Windows, but it works) and it's getting good reviews and scores well on tests. It'll become pay-for-play once it out of beta though.
The only way I know for sure to avoid these problems at the moment is to switch operating systems. I've been using Linux (Ubuntu, specifically) for quite some time now and I'm very happy with it. I have the iptables (firewall) set up just to avoid port-scans slowing down my dial-up, but virus and spyware are non-existant worries on my machine now.
I have to dual-boot to play games, but since I don't even have an Internet connection set up for my Windows XP partition there are simply no worries at all.
Now I don't suggest anyone that doesn't have the patience to learn a new, more difficult operating system try this, but if you have any computer skills (NOT just Windows skills) I'd suggest you give it a shot for nits and shiggles, if nothing else. :-) At least download a Linux Live CD to see what it's all about.
Keep in mind, I've been in computers for the past 23 years and have finally gone back to school for my degree in electronics and computer engineering, (graduating in March, YAY!) so dealing with cryptic command line utilities isn't a big deal for me, people that have used nothing but Windows may not like Linux, so try it at your own risk. :-)