After trying everything else I ran Startup Repair to see if there might be some boot sector corruption, and sure enough there was a hidden Vista partition WinRE wanted to add to Dual Boot. Once it was added Windows 7 resumed correctly even after I hid it again using EasyBCD.
I'd therefore classify the prob as boot sector corruption, a known cause of hibernate issues in a Dual Boot.
Owner has a bunch of files on Vista so I need to leave it in reach for now.
Thanks.