Agreed.
But on the other hand it could eventually allow those committed to the competition to do so on the basis of on track performance, rather than politics and rule twisting.
That's sort of what makes Formula 1 different from most other forms of motorsport though. If everyone was in a spec car it wouldn't really be the same. And if you're going to have people pushing to develop new engines as part of the competition, then some people are going to take it seriously enough that they'll do whatever they can to win, instead of just what's profitable.
It's the Senna@Suzuka'90 mindset applied to engines, and it applies just as well to any other developmental part. You always run the risk of having someone who will do whatever it takes to win. If that means eating $50 million in losses from selling engines at less than cost, then maybe someone ruthless enough to do that will come along. If that means pushing the rules right to the very limit, then someone will do it.
This is just what high level competition is. People will disagree whether that's what it
should be, but few people will fail to recognise that there are people like that out there.
Cost caps on engines would work to make F1 more accessable to teams and bring costs down, but there's no guarantee at all that it will have any effect of the quality of those engines, either in absolute or relative terms. Maybe Merc decides that having unquestionably the best engine is worth it to them in terms of the image it creates and the value of being world champions.
I think these sort of disparities are just part of Formula 1. As long as development is so valuable, it's going to happen. Still, at the moment it certainly appears that Mercedes are competing based on track performance, at least until any solid evidence of any dubiously legal parts turns up. It's just that they're much, much better at it than anyone else.