Mysql is quite capable as a database engine, although the performance optimization techniques that apply to mysql are obviously different from those that apply to SQL Server.
Some of the largest sites in the world use mysql - last I checked, YouTube ran mysql. So you definitely don't need a commercial product to get good performance.
You will have a lot of trouble porting a non-trivial mysql database to SQL Server or any other DBMS. There are major differences between platforms. I think you'll be much better off picking one platform and sticking to it.
As for ASP.NET, well, in my experience WebForms can be a bit slow, although the ASP.NET backend itself is also very efficient, as evidenced by the numerous large ASP.NET MVC apps out there (such as StackOverflow!)
Edit - are there problems with the combination of ASP.NET and mysql? Well, that depends. The mysql ADO.NET connector is solid and performs just as well as the SQL Server connector. Linq to SQL doesn't support mysql out of the box, although there are 3rd-party products such as LightSpeed which are supposed to do it well, and of course NHibernate supports it (although documentation is a bit harder to find, but that only matters when you're getting started).
In general you'll probably find less support for mysql-related issues in .NET, you might find that mysql is a second-class citizen in the .NET community, but both technologies are solid and both are perfectly capable of talking to each other.
If you have the money, I'd probably spring for SQL Server on account of the support factor alone, or even start out with SQL Express if it's a very small site, but again, there are no serious problems using .NET with mysql.