This stands a 50% chance of working in about 5 mins so its worth a go.

1) At the terminal as root
ps -ef ¦grep kdm
find the pid and then
kill -9 <PID>

You need to kill this becuase it is respawning X and it won't let you start another...

then, still as root type
XFree86 -configure (it could be --configure)
This creates a file in /root called xf86config.new (or similar, it will actually tell you)
then type
startx - (or --) xf86config=/root/xf86config.new

If this works ....
CTRL+ALT+BKSPC and stop X
then
cp /etc/X11/XF86config /etc/X11/XF86config.orig
cp /etc/X11/XF86config-4 /etc/X11/XF86config-4.orig
cp /root/xf86config.new /etc/X11/XF86config

then type
/etc/init.d/kdm start
(you might need to look for the actual file, its something like kdm)
and theres a space before the start.