I really find it hard to believe that Win7 on 7 year old hardware with Linux in a VM works better than just Linux on the same hardware. What on earth are you measuring this on?
It's better because even with powertop optimisations, Linux leaks energy out of the window everywhere. If you let Windows handle it with the Lenovo power manager, it's an order of magnitude better.
Windows 7 x64 with reserved power scheme. 8h42m
Debian 6.0 with powertop optimisation. 5h12m.
Regarding virtual machines, Linux's virtualbox drivers are better than native ones for the hardware in the actual machine.
I used to have exactly the same laptop with a different SSD and the next size battery down. I got the same runtime in Win 7 and Ubuntu (whatever version was out in 2009).
Works better and consumes less power and therefore has longer battery life than Linux on bare metal.
My 2010 MacBook Pro caught fire, so I can't vouch for Apple's reliability.