I posted this in another thread about turning hibernation on and off with task scheduler. Don't know if it would help you at all, but here it is:
These are a couple of AutoHotkey scripts that should disable and reenable hiberation.
These should work for Windows XP. You may have to modify them for other flavors of windows.
Hibernate Off
WinWait, Program Manager,
IfWinNotActive, Program Manager, , WinActivate, Program Manager,
WinWaitActive, Program Manager,
Send, {LWINDOWN}r{LWINUP}
WinWait, Run,
IfWinNotActive, Run, , WinActivate, Run,
WinWaitActive, Run,
Send, powercfg.cpl{ENTER}
WinWait, Power Options Properties,
IfWinNotActive, Power Options Properties, , WinActivate, Power Options Properties,
WinWaitActive, Power Options Properties,
Send, {CTRLDOWN}{TAB}{TAB}{CTRLUP}{SPACE}{ENTER}
Hibernate On - Change the number of {UP} on the last line to adjust the hibernate time.
WinWait, Program Manager,
IfWinNotActive, Program Manager, , WinActivate, Program Manager,
WinWaitActive, Program Manager,
Send, {LWINDOWN}r{LWINUP}
WinWait, Run,
IfWinNotActive, Run, , WinActivate, Run,
WinWaitActive, Run,
Send, powercfg.cpl{ENTER}
WinWait, Power Options Properties,
IfWinNotActive, Power Options Properties, , WinActivate, Power Options Properties,
WinWaitActive, Power Options Properties,
Send, {CTRLDOWN}{TAB}{TAB}{CTRLUP}{SPACE}{ALTDOWN}a{ALTUP}{CTRLDOWN}{TAB}{TAB}{CTRLUP}{ALTDOWN}h{ALTUP}{UP}{UP}{UP}{UP}{UP}{ENTER}
You could compile those and then run them using Task Scheduler to stop the hibernation process. The attached files should turn it off and turn it back on with a 3 hour delay.