I had always done development on the Microsoft stack (.NET, SQL Server, etc.). I had always played around with nix stuff but never anything serious. During college, I got a Macbook to do iPhone apps, and decided I wanted to do development exclusively on nix.
What I ended up spending 2 years of my side project time is switching between languages and stacks: from Python to Ruby to Java to Scala to Mono to Erlang back to Ruby to Node back to Java -- I was trying to find that perfect productive replacement for C#/.NET ecosystem.
Finally I switched back to .NET on Windows, and things felt so right. I've been happily productive on the .NET platform for the past year and a half.
About VM/licensing fee, it really isn't that much of a difference if you think about it. I'm averaging about $90/month for the VMs and DBs I'm using on Azure. Compare the price between "SQL Azure" and "MongoLab," the diff ain't that big.
Don't take this the wrong way, but it is most likely that side projects aren't big enough to really make the pricing difference more than $50ish a month -- this really is not much especially after when you have a job.
Edit: most of my (probably yours) projects fitted nicely in the free zone of Azure (with or without MSDNAA) and AppHarbor. Also keep in mind that even the FREE VS Express is better than most Open Source editors/IDE out there.