Are you running the cron job as the same user who started the X session that you expect the xterm window to pop up in?
If not, (and maybe even if so, I've never actually tried to do what you're doing) then one of the problems is most likely that the script doesn't know what display to use when launching the xterm session. You can see this in action if you open a terminal, su to a different user than the one who started X, and then run the same command you are trying to run now.
From there you could either try using the same user that you created the X session with to run the cron job, or you could set the DISPLAY environment variable. For more information on that see: http://www.linuxquestions.org/questi...isplay-365193/
If that doesn't help or you already knew all that it would probably help you to redirect stdout and stderr to a file to give you a better clue as to what is happening.