Don't know why icc is making fun of cricket by introducing such policies. I do agree that if you see teams of UAE and Oman they are entirely made up of players from South Asia. While Nepal has 100% local players. If you give more funds to team of expats then how can cricket grow in team that have 100% local players.
There needs to be a general rule for cricket like if you are a citizen of a certain country then you will be able to play for that country's cricket team. If you are a foreigner then you will not be allowed to play for that country. But I don't think ICC is going to do that because as far as I know, ICC gets a good amount of money from these countries to keep these things going. I don't think this is going to change unless the corrupt personnel from ICC is removed.
The eligibility criteria was change some 10-15 years ago, to allow teams such as the UAE to play with stronger squads. In no other sport, a national team can be comprised of foreign players. Not even a single foreigner is allowed in football, basketball, field hockey.etc. But in cricket, you can select a dozen players from India or Pakistan and label them as the national team of Czech Republic or Norway. Cricket has become a joke thanks to the stupidity of the ICC. My take is that, these greedy businessmen (Greg Barclay, the chairman of ICC is the best example) needs to be kicked out of the ICC and replaced with former international players such as Sachin Tendulkar and Kumar Sangakkara. Once they are in power, they will do whatever is needed to make cricket more popular across the globe.