I have the same problem as you and have found a solution that works for me anyways. I have a P4 1.8A @ 2.25 GHz, Crucial PC2100 memory @ 166 MHz 3-3-3 (I encode DIVX and everything at this speed, zero crashes), 256MB PC2100 and an ASUS P4B266. I very recently upgraded to 512 MB PC2100.
What happens to me is: the game will just reboot in the middle of a warcraft game in
Windows XP Pro. I have tried underclocking to stock speeds (100 fsb and 133 MHz Memory) and the same thing happens. When I go into the control panel and change Windows to not reboot on error, it just crashes back into Windows about 5-10 minutes into the game, instead of the freaky automatic-reboot. It behaved like this with a my GF3 for a long time, and it does this with my new ATI Radeon 8500LE now.
Here's the solution: I found that it never crashes in Windows 2000 Pro. For some reason, Windows XP crashes with this game. I had the beta for many months, and it was just like this. I have tested it, not extensively, with other platforms (i815b with tualatin celeron and windows xp) and it's more stable than my P4 platform. I don't know what it is about the P4 that crashes it (our ASUS motherboard somehow?), but it just doesn't work with Windows XP.
I have no idea what the problem is, because, as I said, even at stock speeds the game exhibits this exact same behaviour, however I wonder if it will ever get resolved. I am essentially running a dual-boot for Warcraft 3

. Oh well, I like using 2k occasionally, anyways.
Hopefully, if it isn't too much of a hassle for you, you can test this out because I have not found any other ways to fix this. Note that it happened to me with a GF3 and a Radeon 8500, so I'm pretty sure it's not the video card's fault.
Edit: oh yeah and
ninepepper - your suggestions sound very good and I think everyone should try them. I myself have tried both with onboard audio (which I have run for the past few months) and a SB Live! 5.1 before, and both had the exact same problem agian..