Are you trying to copy a PURE DOS hard drive to another drive? Then XCOPY will work just fine. And Windows 3.1. If there is *any* form of Windows involved from 95 onwards, the XCOPY command will not move the registry along, and you will not achieve the expected results. Now, if you are just concerned about data, then it would work, but the "New C" will not boot without the registry.
If you are trying to duplicate everything, you need a program like GHOST to copy the whole partition. You might be able to do this with Microsoft Backup too.
So much depends on which version of Windows happens to be on the drive you are copying...
I personally do not like the Maxblast as it sometimes installs a bootloader type program to handle certain limitations of older machines running large drives.
Ghost works great but it is not Freeware
Here is a freeware DOS progam that will let you copy Long File Names
I included some batch files that I have used...
Here is one that will go from C to D
It has been tested up through Windows 98
echo This will backup Drive C to Drive D
echo Caution this will Overwrite ALL files on D
echo Hold the CTRL key and C to ABORT this process
lcopy c:\* d:\ /a /s /y