20-30 seconds is sometimes not uncommon for Windows 2000, especially if you have a lot running on system start up (tons of icons down by the clock), or a lot on your desktop (and I mean that file-size-wise, not just icons {a folder w/4GB in just sitting on your desktop can actually delay startup, in some cases).
The thing getting the black screen - this only happens sometimes? I would recommend booting into safe mode once and simply rebooting - it has a tendancy to straighten out boot up issues. Also, defrag! Very important. Finally, if neither of those had ANY effect, check the BIOS for an option called "memory hole" or "memory hole @ 15-16M" - if I recall correctly, you want that DISABLED with Windows 2000. That was an old BIOS option that helped AMD K6-2 processors with Windows 98 - it's not needed as much any more and can be disabled (I couldn't install Win2K, once upon a time, with that enabled in the BIOS).
You could also try setting a static-sized swap file (Virtual Memory) - that way it doesn't have to adjust itself all the time, causing longer loads and boot up times. Set the MAX and MIN to the exact same size (the OLD rule of thumb was 2-2.5x your RAM, but now I have a gig of RAM and a gig swap file - a good "average" size swap file is 768MB, but sometimes is too small for users who have a lot of auto-starting software. If you have a gig to spare, I'd recommend setting it at 1024MB).
NuAngel
WinBreak: Your next first stop on the Web.