Unless you actually care about native Linux applications, or specific performance-related features like Linux's epoll (or BSD's kqueue), then you can definitely jump into "the Linux way" of web development with Cygwin and either Python or Ruby. I haven't used Ruby since 2005, but in Python most of the difference between Windows development and Linux development is details of the os and sys modules (anything else has to do with stupid details of threading performance).
On a second reading, it sounds like you might be conflating getting beyond .NET with Linux development. It's entirely possible to learn Python or Ruby web development on Windows, though I'd strongly suggest either using a full Cygwin installation or at least Unix Tools for Windows (http://unxutils.sourceforge.net/).
Linux is worth learning, but it's not the same thing as (for example) Python web development. They're mostly independent. Things like Node.js are still mostly *nix-only (last time I looked), but I'm sure that will change over time. On the positive side, you can get Haskell/GHC for Windows ;-)
To be honest, some of the hardware compatibility issues you mention aren't of much concern to me (providing i don't encounter any serious issues, i can deal with bluetooth not working for instance) as i plan to dual-boot windows/linux and still use windows as my primary OS, but linux for dev.
I should perhaps edit my question title to be more clear, as i'm specifically interested in web development via Linux (at least for the moment), but thanks for the advice on native app development.
I'll be sure to get in touch if/when i go down the Qemu/Tiny Core route. Though consider this prior warning that you're opening yourself up to a constant stream of emails from a frustrated linux noob ;-)
Thanks again for the detailed answer