i use mysql and asp for development. the reason is that asp was the first backend programming language that i learned. i eventually started using mysql because it's open source and it has a nice search functionality that works great with sql select statements.
agree completely about asp.net; it renders some pretty ugly html. maybe good from a development standpoint but not really good for a web 2.0 accessibility, standards compliant code standpoint.
you can run asp on a non-windows server but you'll need a plug-in of some sort like chilisoft.
once i have the time (ha!) i'd like to learn php as i've heard it works well with mysql and you have a broader range of server technologies you can work with.