It's mostly the devleopers having problems. With single CPUs, you have to pay far less attention to a couple of problems in your code than you should. Until recently, that wasn't much of an issue since only a few "stupid consumers" actually used SMP systems and those systems were mostly in the hands of people who knew what they were doing (and who bought hardware from vendors who knew that, too). Now, with Intel and AMD acually pumping those things to the cheap-ass market, all the flaws get their chance to shine.
This holds true for OS developers, e.g. see Microsoft's bastard hotfix that may or may not solve the problems (it doesn't) or Linux' problem that can be circumvented with little hassle, but you have to find the solution somehow. Similarly, driver developers (nvidia, I'm looking at you!) need to cut back on optimizing for 3DMark and start doing some work.
Afterwards, it's just a thing of software developers using working timers (PM or HPET where available) and reading up on and keeping to best practices for multithreaded systems.
The more stuff I read the more I think that this is the mainboard makers' fault. It is by now well known that the AMD X2 CPUs have some issues with drifting TSC timers due to power management. Any software using that timer will run into problems, and that's what the MS hotfix and the "/usepmtimer" boot option are supposed to fix. However, the timers exposed to the system are determined by the board's BIOS, and there we are getting to ACPI which traditionally seems to be a hard topic for board makers. (Meaning: board makers suck at their own business. Hard.)
Long story short, I have no problems with LFS, using WinXP on a Neo4 Platinum board, X2 4200+, the MS hotfix and the /usepmtimer option. Framerates are usually somewhere in the 160s with all details set to maximum at 1600x1200 resolution, even on a lowly GF6800GT. Serious Sam 2 is totally spastic, though.