So then why not just replace the database and keep the rest? Were you using Linq to SQL and hence tied to SQL Server? As far as VS I'm sure it would not have been a problem for you to get free versions. However, I suppose if you were to change the database portion, probably a sizable chunk of the application, you may as well replace the whole thing...
If you're developing with .NET, you are best off using the whole Microsoft stack. The vertical consolidation and tight integration is the benefit you get for the high costs.
If you mix .NET code with significant OSS components (i.e. databases), you will incur a lot of extra setup work and hassle. There is less of a community and therefore you'll have to figure more stuff out on your own. If you're a .NET programmer for life, then this is great experience for you.
One of the traits of a good CTO is to access the community around a mix of technologies (i.e. C#/Sql Server, C#/MongoDb, or Ruby/MongoDb). If there's a good community around your technology stack, that'll streamline development a lot more. Things will just work. Many people will have already solved the problems you're bound to have.
Was the cost of rewriting that small? In my view it would only make sense if the cost of rewriting the app is insignificant. If you can do it in a week or two, sure... any more than that and I would start to question if it's worth it. I mean, you gotta make sure it brings in money first, right? :-)
I'd like to hear more about why you switched from Sinatra to Rails. I'm primarily an Asp.net MVC dev who plays with Python/Ruby on the side, but Sinatra really interests me.