Could be some X config problems.Therefore try entering textmode first(runlevel 3).
When you boot up,if you are using grub, edit your kernel parameters(by pressing 'e') by adding a '3'.if you are using lilo,try boot:linux 3.
explains how to enter single user mode.just replace single in this doc with 3 to enter multy user textmode.After entering it,just try a 'startx'.you may get some errors.then check out your /var/log/XFree.0.log forerrors(they start with ee).post them here.you can try reconguring X (the config file is /etc/X11/XF86Config or /etc/X11/XF86Config-4.the -4 will override the other one if both are there.you can see the name in your log file) using 'redhat-config-xfree86' or xf86config.
If you cant clear the problem post your /var/log/XFree.0.log and the X config file.(see the log file to see whether it uses -4 one or the other).some one may be able to help you out from this.
X config file is /etc/X11/XF86Config or /etc/X11/XF86Config-4.
X startup log file is /var/log/XFree.0.log.
use texteditors like 'pico' or 'vi' from textmode.
use utilities like
'redhat-config-xfree86' or 'xf86config' to reconfigure X.
ps:It will be better if you delete all your X log files,i.e,
'rm /var/log/XFree.*' before trying 'startx'.