First place to look, make sure that nothing funky has happened to your ACPI driver recently (i.e. check version and that recent programs haven't modified the parameters).
Go to your hardware manager (its in system properties under the hardware tab) and expand the computer section, in that section you should have an acpi driver. Also right click on the driver and select properties, make sure that windows reports the driver as working properly from that informational screen.
Try running the minimal number of applications, as it may be an application that is preventing hibernation. Start your usual applications 1 by 1 and hibernate after you start each one, keep doing this until you track down the application that is causing the problem (if it is an application).
I've been having on and off no hibernation problems also.
I have worked out it is an application issue. If I have Illustrator, Golive, Powerpoint and Outlook running, it will refuse to hibernate. Sometimes I get a Insufficent System Resources error. Shutting down all these apps (essentially leaving only Windows running will then allow hibernation.
Weirdly, the Event log says WINWORD.EXE is the culprit!
I don't get it. On my old T21 with only 384Mb RAM and W2K I can hibernate at will regardless of what I have running. On the new T43 with 1.5Gb RAM I get this relunctance...