Recompiling my kernel sorted this problem out for me. If you have the time you'll find it's worth it, as you can cut out the bits of the kernel you don't need and keep the bits that you do (like the apm features)
A good reference to start with for recompiling your kernel is here:
http://www.osnews.com/story.php?news_id=2949
If you set up your new kernel using "make xconfig" There is a simple pointy-clicky interface that gives you lots of help and advice.
Give yourself a couple of hours to do the job. You can always save your configuration if you need a break.