Direct X may be hosed in your registry. Look in c:\Program Files\DirectX and run dxdiag. Let it run it's tests and see if it comes up with errors. Direct X is tied into a lot with the O/S and it could be that your problem is related to it.
I would recommend going to 98SE if possible, but you seem resistant to that idea, so it's your choice. I have 98SE because I prefer it's interface and functionality over ME (blecchHH!!), 2k or XP. (Okay, actually, i just don't feel like buying 2k or XP when I don't want my OS based on the NT platform for backwards compatibility reasons)
I also highly recommend getting Regclean from Microsoft directly or Regedit.com Regedit.com also has other registry tweaking utilities, so it is worth taking a look. Also, make sure you run scandisk to eliminate a problem with your hard drive, then defrag just for good measure. If none of these work, I have no idea what to tell you. Good luck!