Microsoft has had plenty of warnings
Yes, I know for sure that microsoft chose the path that led them to create products with wide open security holes. How do I know? A microsoft mid level employee told me so. Their ( the employee ) contention was that MS knew what their main core of users wanted and needed. That concerns about security and stability only effected the top 5%; what he called their "power users". According to him, the rest of the MS users were only concerned with more and more features.
Many people that are gloating now are not ignorant of the possibility that something similar could happen on Linux/FreeBSD/Mac or other platforms, they are happy that something seems to finally be forcing MS to really address these issues.
Now I have heard the same message in MS press releases and trade journal articles for years, so I don't think it was really unique to the fellow I exchanged ideas with. He said that after they had the important features integrated, that then they would return to shore up some of the stability and security concerns.
My point with this post is simply that MS left the security doors wide open for quite a long time. The "melissa" trojan/virus of a year ago didn't really change their focus. Sure, this type of attack could work on almost any operating system if the operator is willing or ignorant enough to subject the system to dangerous behaviour.
A long running joke/pseudo-virus was the "Good Times" email (use a good search engine if you don't understand). I first saw this over ten years ago in BBS/Fido mail and have seen it make several rounds via the internet. The joke at that time was that the simple act of reading an email couldn't destroy your computer. Now, thanks to the marvelous 'innovations' of MS, it is possible.
The most frustrating part is that many people have warned MS and tried to promote change in their approach to making products and have had almost no success. Until now, maybe they will change approaches. They have a pretty unstable foundation to launch from now though.