When you say hangs, do you mean that access from local
console (keyboard/screen) is impossible, or can't that
machine be reached via network (e.g. ssh, telnet) either?
Also: Can you see ANYTHING in relevant logs (e.g. your users
~/.xsession-errors, /var/log/Xorg.0.log, /var/log/messages,
/var/log/debug, /var/log/syslog, ... ) after a reboot?