I have experienced a very similar problem...
For me, FC2 hangs whenever it tries to bring up the cups service. I thought that I could solve this problem by merely disabling the service and then updating it later. Perhaps this tactic will solve your problem(s).
You can do this by editing the grub booting options by following the directions at the bottom of the grub screen (for me it's just hitting e on the preferred kernel). Then, you edit that kernel to go into single user mode by deleting the "ro" in the middle of the instruction line and appending a "single" at the end of the line. Now you can use chkconfig to edit/disable services that are screwing up the booting sequence. This can be done by following chkconfig's syntax. You can try just turning off all levels of whichever service is hanging and maybe that will help. I think that it was something like (in the case of cups) "chkconfig --list cups" to see which levels it was on for and for example "chkconfig --level 2 cups off" in order to turn off a specific level (in this case 2). However, don't quote me on it as I haven't tried this in a while. You can then cleanly reboot by simple typing "reboot" and you'll be back into the typical booting process without single user mode. Remember not to try to mess around a lot in single user mode as you can really mess things up that way.
Unfortunately, this didn't really fix FC2's hanging problems for me... Though it skipped past cups without any problem, it would hang on another service and, if that service were also disabled, hang on yet another until it started hanging on necessary services. I have not been able to figure out how to remedy this problem and would like anybody's insight.
In any event, I hope that you don't have the same problem as me as I'm about to give up on FC* altogether.