I did this before. The truth is that even older Linux server are still in operation, just as many DOS servers are. You (John VV) can't just say: forget about your software, forget about COBOL and Fortran. The real world just doesn't work like that.
As for the problem, I also advice using a fresh CentOS6 base, as you probably don't care about commercial (paid) RedHat support if you were still using 2.1. After installing 6.3, copy your old disk (the whole thing) in /opt/rhel21 by mounting it, then use "mkdir -p /opt/rhel21;cp -a /path/to/old/mount/point /opt/rhel21. Then use the "chroot" command to create a jail of the RedHat EL 2.1 in 6.3. I tried other methods such as virtualisation and emulator. They ofter fail because the distribution is so old that it is untested. The jail seem to hold on pretty well compared to other alternatives. When I tried in RHEL5, the newer kernel could run the old binaries (application) without visible drawback. It could even start X application on the native RHEL6.3 display.
So, if you need to migrate RHEL2.1 to RHEL6, you can't, but you can have both running in parallel on the same computer. Remember that this is totally unsupported and may require advanced Linux skill to make it work. After you get the jail working, make an init script to start it during boot (LVL 2 or 3). Booting a jail require custom bootscript, as it is not the same as a native boot (you need to bind /dev, /dev/pts, /sys, /proc and start services manually)