There is a 'timeout' set at around 10 seconds. What kind of system are you running?
If you think it does take longer than that, you could confirm it by changing the waitforX line in ~/.xsession with
date > /tmp/somelog
waitforX 2>> /tmp/somelog
date >> /tmp/somelog
and post the contents of /tmp/somelog here.
Otherwise, posting ~/.xession may help