If England's immigration policies are set up to encourage people from around the word to move back and benefit them, then you can hardly blame them for succeeding because of it. That's kind of the point. USA cricket has benefited massively from Indian and West Indian cricketers coming over and gaining citizenship, and have just won ODI status on the back off that. That's perfectly in line with the USA as a whole gaining a lot of success thanks to immigrants. I get the frustration, but sport reflects life in many ways. This is one of them.
There is plenty that West Indies, SA, NZ etc can do to stem the loss of talent. They can govern the sport better. Grow the game. Get better facilities and more money into it, so they can then offer a competitive package to players. If they're so afraid of British passport holders leaving them, then they can just choose not to select them in their developmental programs. The fact is many of these countries are happy when these dual nationality guys rock up for them, but don't do enough to keep them around. They're well aware this player might leave them if they get good enough, and yet use them for short term success, rather than focusing on players who can only play for their country. That's a risky decision to make, but they make it, and should accept the consequences as a result. Associates do this all the time and they're fine with it, because in the world of associate cricket short term results are essential for funding and long term survival.
Ultimately, we don't actually hear cricket boards complaining about how things work. They get that this is the way the world and modern sports functions.
I get that it's not fair, but a lot of things are not fair. Kohli having more talent than Chris Martin is not fair. I don't see why this is something where the ICC has to get involved.