I did ASP.NET development for three years. I started PHP development a little over a year ago. Both are adequate for accomplishing just about any web application task you have in front of you. At this point in time, I prefer PHP...not because of its open source nature but rather what I perceive to be the main difference in their evolution.
PHP was a solution to a particular problem; in the very beginning, Rasmus Lerdorf needed a way to maintain his homepage. From what I see, PHP has largely grown as a result of people needing specific functionality.
On the other hand, ASP.NET was designed to be the successor to ASP. Because .NET was the cornerstone of Microsoft's future vision at the time, the two were married. The functionality included in each version of ASP.NET is based upon a team in Redmond prioritizing consumer requests while considering marketing strategy.
As a result, while I think ASP.NET is a more consistently-engineered product, it does not necessary offer the breadth of options that PHP does. One is a result of necessity, the other is the result of corporate planning.
I like both and plan on developing with both in the future. Right now, my choice is PHP but it is not necessarily due to its open source nature, but simply its nature. If the source were closed tomorrow, I'd continue to use PHP. I don't mean to quibble over semantics, I just think that in this case access to PHP's source -- or lack thereof -- has little to do with my preference of it over ASP.NET.