I don't think hedging or not hedging is the big deciding factor, for one thing the entire US market is subject to NFA regulations which do allow hedging anyway, and if you really want to hedge on MT5 there are ways around it. You can have more than one account, more than one terminal etc.
You are right the brokers do not care how hard the coding is but the clients do and the broker will try to provide what the clients are asking for because that is how he keeps his clients. Clients wanted to keep using MT4 because they saw nothing to gain by changing to MT5 and most of those who code for their MT4 did not want to have to learn for a second time how to code for the platform especially when the new language is much more difficult and time consuming to learn than the one they already know.
This is very true. Have you try to check your order status using 10008 or 10009 return code? This might help to prevent this kind of closing errors.
Despite of some disadantage of one position rule, I was actually giving quite good rating for MT 5 for its strategy tester and backtesting facility.
However somehow, from yesterday, my historical data quality is less than 20% from several brokers when I tested some of my strategy.
So my rating for Mt 5 strategy tester was lttle downgraded due to this reason. In Mt 4 you can do at least something. But in Mt 5 you can't do much from your side as it is brokers responsible for it.
if you trade more than 20 pairs at same time, you must need MT5