I had Ubuntu 9.04 where suspend didn't work: I've gone to Mint 7 and it worked out-of-the-box.
The fix I used to get suspend to work in 9.04 was: Open a terminal and enter sudo gedit; in Gedit open /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux; find the line QUIRKS=" "; change it to QUIRKS="--quirk-s3-bios --quirk-s3-mode --quirk-dpms-suspend –-quirk-dpms-on --quirk-vbestate-restore --quirk-vbemode-restore --quirk-vga-mode3 –-quirk-vbe-post –-quirk-reset-brightness" – not all may be necessary, but I enabled them all anyway and nothing adverse happened - you can try one at a time, if you wanted to! Save and exit. Set Power Management for lid closed = suspend.
Try it: I don't use hibernate, but the same routine in /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux should work