There are reasons why an upgrade may not be appropriate, but in general, in my experience, they work fine in the vast majority of cases (pending of course, on how much disk space you have available).
An alternative to what has been suggested (and no real problem I might add) - setup a VIRTUAL DC as a second DC in your existing domain... then demote the current DC (so you don't have an orphaned DC in your AD). Then copy the virtual machine hard drive to a DVD or something that won't be erased, and wipe and reinstall 2003 (NOT as a DC; use a static IP). Once 2003 is up, boot up your virtual machine and join the 2003 system to the domain. NOW make it a DC. Then demote the virtual DC and get rid of it.
Don't forget to do the usual suspects - Move FSMO roles, create GC, ALLOW TIME FOR PROPER REPLICATION and check event logs at ALL STEPS. Also, MAke sure you make MANY SYSTEM STATE BACKUPS! I would do one before every step involving Active directory - Before the VM DC is created, After it's created, after the FSMO roles are moved, after the old DC is demoted, before the new server is joined to the domain, etc. System State backups are quick to do (usually 2-5 minutes) so this won't cause too much of a delay and if something goes wrong you'll be VERY happy you did.