ASP is also very limited in terms of scope, mostly reserved for high-end corporations that can afford to train people to program in it (and the other way around). I guess what I should say is, it's easier for a high-end corporation, like MySpace, to program their website in ASP because if they want to sell it to another company, the other company doesn't have to worry about learning a new language.
Also, consider the fact that a majority of hosts out there are using a flavor of *nix, and therefore PHP would be the natural choice. It's an easier language to learn and quite powerful for accomplishing most things.
And no, ASP will not take over PHP. That's like asking if IIS will take over Apache. Is it possible? Sure. Anything else. Is it likely? No.