Eu tenho um aplicativo Web ASP.NET/C#/MySQL em execução na produção há cerca de 3 anos. Corre bem. Também o uso para todos os meus trabalhos paralelos. O conector ADO.NET se conecta ao visual studio e funciona tão bem quanto o conector SQLSERVER. Existem algumas dicas embora. Primeiro, não há um equivalente gratuito do Management Studio do SQLSERVER, até onde eu encontrei. Eu uso o Aqua Data Studio, mas custa um pouco. Existem alguns RDMSs gratuitos para MySQL, mas eles não são de forma alguma comparáveis ao Management Studio. Ouvi dizer que o eclipse tem um plugin para o MySQL que é muito bom e gratuito, e ainda não tentei. Além disso, no MySQL, você não pode ALTERAR um procedimento armazenado, apenas pode soltar e criar. Isso causa algumas dores no A no visual studio.
O conector do MySQL ADO.NET é totalmente polimórfico com os namespaces System.Data e System.Data.SqlClient, portanto é fácil ter várias versões de um banco de dados para SQLSERVER e MySQL simultaneamente. Isso é útil se você tiver um cliente que é um amigo da Microsoft e diz porcaria como: "Somos uma loja exclusiva da Microsoft!" como se ele realmente soubesse do que está falando. Isso acontece mais do que você imagina. Em seguida, você pode simplesmente usar seu código SQLSERVER antigo sem precisar fazer nenhuma codificação adicional - se você tiver um bom design para começar.
Minha última crítica é que o MySQL é notório por não manter a compatibilidade com versões anteriores entre o conector .NET e as diferentes versões do mecanismo de banco de dados. Tudo bem, desde que você esteja implantando o servidor com o MySQL, mas se estiver implantando o site em um provedor de hospedagem, tenha cuidado!
Vale a pena o esforço extra na minha opinião, embora tenha algumas das falhas inerentes que muitos projetos de código aberto têm. É, na minha experiência, tão escalável e mais rápido que o ms sqlserver, enquanto que se você conhece o T-SQL, irá capturar a sintaxe do MySQL de forma relativamente rápida.