I actually don't have a really good suggestion. I know that it is failing in the /etc/rc.d/rc.sysinit script somewhere between the root file system check (Fsck) and starting the swap partition. There are quite a few things between there that could be causing the problem. If you boot up with a live cd of some sort you could look around in that area of that file to see if anything rings a bell. Other than that, I don't have many suggestions. Have you changed the modprobe.conf file or messed with any of the init scripts? Or have you installed anything that could've messed with them? Sorry I can't be more helpful.
EDIT: A common technique to use when debugging scripts that might help you is to put a bunch of comments in that get printed out in various places. That can tell you exactly how far it gets before failing. For example, if you put something that prints out right after the Fsck line and then reboot, it tells you something. If the line prints and you see it, that tells you that your computer made it past the filesystem check, if the line does not print, then you know you never made it past the file system check. Now I'm not a good enough programmer to know how to do this exactly, so double check ANYTHING I say.
However, if I HAAAAAAAAAAD to take a guess, I'd say put a line after the Fsck line that says
echo "some text"
and make sure you don't mess up any formatting. If you try this, save the old file with a .old at the end or something like that so you can easily replace the old script.
If it fails on the filesystem check, I might guess a faulty harddrive. Find the brand of your computer and download their diagnostic utility (should be a boot disk), then run to see if your hard drive has failed. Sorry, this has been really long-winded.