I have Debian 6, I have also seen this under Ubuntu (can not remember how I fixed it).
I can hibernate, but when I switch on the system cold boots (it does not restore previous session).
Note suspend works fine.
Have looked in /var/log/pm-suspend.log
Shows for each suspend suspend
block a resume suspend
block, but hibernate hibernate' is not followed by
resume hibernate` ( I assume that is what is expected.
Installed package hibernate, as was thinking it may be needed, but made no difference.
I just started looking and can't find /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
or /usr/lib/hal
I searched for power files (is it all there?:
find /usr/lib -iname "*power*"
/usr/lib/libupower-glib.so.1
/usr/lib/klibc/bin/poweroff
/usr/lib/python2.6/dist-packages/axiom/test/test_powerup.pyc
/usr/lib/python2.6/dist-packages/axiom/test/test_powerup.py
/usr/lib/upower
/usr/lib/upower/upowerd
/usr/lib/libupower-glib.so.1.0.1
/usr/lib/gnome-power-manager
/usr/lib/pymodules/python2.6/OpenGL/raw/GL/ARB/texture_non_power_of_two.pyc
/usr/lib/pymodules/python2.6/OpenGL/raw/GL/ARB/texture_non_power_of_two.py
/usr/lib/pymodules/python2.6/OpenGL/GL/ARB/texture_non_power_of_two.pyc
/usr/lib/pymodules/python2.6/OpenGL/GL/ARB/texture_non_power_of_two.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/servers/switch_power_server.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/servers/switch_power_server.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/switch_power_client.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/test/test_switch_power_client.py
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/test/test_switch_power_client.pyc
/usr/lib/pymodules/python2.6/coherence/upnp/services/clients/switch_power_client.py
/usr/lib/pymodules/python2.6/coherence/upnp/core/xml-service-descriptions/SwitchPower1.xml
/usr/lib/pm-utils/power.d
/usr/lib/pm-utils/power.d/sched-powersave
/usr/lib/pm-utils/sleep.d/00powersave
/usr/lib/rhythmbox/plugins/power-manager
/usr/lib/rhythmbox/plugins/power-manager/libpower-manager.so
/usr/lib/rhythmbox/plugins/power-manager/power-manager.rb-plugin