I'm a professional programmer with more than 20 years experience writing trading systems and trading interfaces, with significant experience programming C, C++, C#, Java, AmiBroker, InteractiveBrokers, and EasyLanguage. And 10 more languages including NVidia GPU programming, which is what I'm focusing on right now. All this experience makes me...old.
To answer the original question, there is no question I would get Multicharts.Net over MultiCharts. C# is a well documented professional language. PowerLanguage, aka EasyLanguage, despite its age is just so poorly documented compared to C#.
As far as AmiBroker goes, I think it is an excellent, cost effective product, with innovative backtesting engine. You can write DLL's if you need to.
However...I use TradeStation and EasyLanguage. Yes, EasyLanguage ain't great, but with the advent of Object Oriented EasyLanguage, and the fact that you can write DLL's, there is nothing I've ever wanted to do that I couldn't do...and it has the following advantage which is HUGE to me. TradeStation manages both the data and the broker interface. Their tick data goes back a year and a half on most symbols. Their minute data goes back 10 years. When I used AmiBroker and InteractiveBrokers, I wrote my own broker interface in Java (and Ruby), because I just didn't trust the one provided by AmiBroker. It took a ton of time. And then there was also a ton of time necessary to manage the data. I prefer using that most precious resource - time - to develop actual trading systems.
As far as the language goes, well... for me, after awhile, it just doesn't matter that much. You just have to figure out how to loop, how to to do conditionals, what the available library functions are, etc. Same for every language. Most of the learning curve is learning the libraries. Not much different with EasyLanguage or Java or Haskell.
I did look at NinjaTrader, which is based on C#and they now have an integrated broker, but their historical data just doesn't match TradeStation. It's just really nice, when you have an idea, to not have to worry about the data.