This is very subjective, however I'll give it a shot.
I actually know another developer who was in the same exact boat that you are. He actually did end up going with C# for a variety of reasons. The biggest reason for him is actually one of the things that you bring up as a negative. By being "locked in" to a vendor, you do get better support. In my opinion, there is more technical documentation on MSDN that is meaningful than there is on php.net, for example.
A large part of it also will depend on what you plan on doing with it. Are you looking to find a full time position, do contract work, or something else? I personally moved to .NET when it came out to move away from Perl (along with the occasional VB6 application) and have been very happy with it. The robustness of the languages in the platform is great, the IDE is top-notch, the support community is great, and there is an incredible amount of 3rd party tooling. Since I have made the switch, I haven't had a problem finding work, either.