Need to purchase VS .NET: no. there is an Express edition:
http://www.microsoft.com/express/Web/[
^]
MsSQL server license: no. You may have to if you upscale it later, but I've never been charged for MsSql use on my website: the hosting company is.
If you can use MsSql rather than MySql, I would go for it: I like MySql and it works well, but support is better for MsSql and (in the early stages) I have had less problems. The free management tools are better as well.
Go with whichever language you are happier with. If you know C# better than Java, I would go with it.