I was having a similar problem on a pure debian system with no ubuntu stuff. The problem is half-fixed after an upgrade to the latest 2.4.26-rc kernel. Now it only happens the second time the system is suspended. The first time, it works fine.
In my case, console switching cannot be used to fix the problem. In my case the problem only occurs when the dri module is loaded in xorg.conf. Knowing whether that is the case for you would help narrow down the root cause. If it is dri causing the problem, then the issue is probably related to kernel bugzilla #10844 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]