A budget cap will eventually fail. Any budget cap will only be partially effective to do what its supposed to do. That doesn't mean it shouldn't be implemented though.
Even if it only works for a time maybe it's worth it.
To maximise effectiveness you would need to attach an independent team of inspectors and auditors to each team to review the books and pursue a paper trail for everything.
Also, with the internet age, speculation about breaches and loopholes, both founded and hysterical, would be relentless and politically exhausting. Particularly for Ferrari, who do far more in-house, than anyone else and who, the other teams view with envy.
In short, the FIA would need to roll up its sleeves and be ready to slog it out for an indefinite battle with a cost cap because policing the pockets is about as controversial thing as you can do with a team.