I have been plagued by this problem since setting up my system a few months ago. I think I'm on the verge of an answer, at least for my system. Anyway, this might help you too.
For me the startup freeze actually stops if I wait for a few minutes. Rarely does win2k refuse to boot entirely. There are two specific points that the loading bar reaches before it can freeze for a few minutes. It seems to happen randomly, ie not at every startup.
I think I have narrowed it down to a my firewire PCI card. After reinstalling windows and then methodically adding all other peripherals, devices and drivers one by one with a fresh restart after each, I found this first when I put in the firewire card. Haven't yet got to the stage of pulling it out for any given period but when I do, I shall post to inform. I hope this is it, because no end of debugging to date seems to have pinpointed this problem.