Personally I have had many positive experiences taking the half way house, use a hypervisor such as Xen you can then have both Linux and Windows running under a light weight micro-kernel hypervisor, neither take a significant performance hit and this configuration is far more flexible, allowing you to easily reallocate resources between the two at any time.
This nearly matches your dream setup mentioned as you can boot or shut down the two OSes independently at any time to reallocate resources to the other and you will not be able to notice any performance hit (in reality it may be a fraction of a % slower is some cases but you will not notice this unless you are benchmarking specifically to test this).
The only catch is certain features require your CPU to support visualization however every i7 does (afaik) so this should not be an issue for you.
EDIT:
Xen contains its own microkernel, Debian is not needed to run it, the only reason one would need a linux system is to reconfigure Xen as the configuration program is a linux program which you run on one of the guests (guest is the term Xen uses to mean a VM). You can have just linux, just windows or both running at any time, but you will need linux running in order to configure Xen's settings so it is advisable to leave a small linux running in the background to do this when needed.
Hardware can be handled in a few ways, Xen provides a set of virtual devices which allow a piece of hardware to be used by multiple guests at once such as network cards and sound cards etc.
For hardware which cannot work this way or is only needed by one guest at a time xen has pass-through devices, this means you can select and choose at any time which guest has direct access to the piece of hardware and can switch this at any time. This can be done to give a specific guest true access to the graphics card if you need to high speed accelerated rendering without any virtualisation overhead.
It is also possible to have one guest directly using the graphics card in pass-through mode as explained above but still view others using a local VNC like protocol which makes the screen's of other guests appear in windows (think like virtual box or remote desktop) while one has direct control of the graphics card; or of course you can just switch between guests screens giving one direct access at a time.
Contrary to what you may assume about the efficiency of this setup it is in fact one of the few ways to run both OSes at the same time while maintaining effectively native performance in both, if you do some googling you will find many have had success using such a setup to run a high performance gaming machine or other demanding systems.