So I read this blog post, and apparently when you Hibernate Windows, it doesn't actually turn the computer off. It doesn't go into S5 (fully off), it goes into S4 (so close to fully off that we will just pretend it's fully off) It also prevents you from loading the BIOS setup options, or the boot selection dialog, when you turn on the system. Somehow Windows is setting a flag in the BIOS that forces it to boot only from the Windows hard drive/partition.
However, that blog post says you can get around this limitation by pulling the power cord/battery and pressing and holding the power button to empty the capacitors or whatever, to fully turn off the system, and apparently the hibernation is unaffected and still works just fine. Well I hibernated my Windows 8.1 system, and then I turned the power switch on the PSU off and pulled the cord (desktop PC, not a laptop). Sure enough the light on my motherboard was still on, and the lights on my network ethernet port were still blinking. For a solid 5 minutes. Those must be some damn efficient capacitors in my system to be able to power my motherboard and NIC for 5 minutes without any power source, unless they're using the CMOS battery. I gave up waiting on the residual power to empty, and I pressed the power button. The fans spun for a split second like the computer was going to try and turn on, and then gave up. I held the power button for another good 30 seconds. Confident that I had now emptied all residual power and totally turned the computer off, I then plugged the power cord back in and turned it on. I was still not able to access the BIOS! The BIOS post messages appeared, but the "Press DEL to enter setup" message was missing, pressing 'del' did nothing, and the POST went by much faster than usual, skipping the USB device tests and checks, and the Windows 8 hibernation restored just fine.
So what if I want to be able to hibernate my Windows system, then boot onto my Linux partition to work on something or check something, and then reboot and restore the Windows hibernation? Windows has decided that is impossible! I can do it the other way around, because Linux does not have this limitation. If I hibernate my Linux OS, and reboot, I am able to access the BIOS, boot to Windows, reboot, and then restore the Linux hibernation. But Windows is somehow editing my BIOS! Wtf?!