Quoted By:
To fix this, the Pokémon League should have a requirement stating that any challenger must have at least the minimum amount on them that they can lose in the battle(s) they are partaking in e.g. a trainer challenging the Indigo League in Pokémon Gold, Silver & Crystal must register 22,900 PokéDollars (4,200 + 4,400 + 4,600 + 4,700 + 5,000), or a trainer challenging Cianwood Gym in Pokémon Gold, Silver & Crystal must register 5,496 PokéDollars (648 + 648 + 600 + 600 + 3,000) almost as a sort of deposit, before they are allowed to continue. If they win, they get their deposit back plus the rewards for winning, if they lose at some point during the challenge, they get their deposit back minus their losses. If one of the challenger's Pokémon is holding an Amulet Coin, this would have to be registered and taken into account by doubling the trainer's deposit. This plan would help to prevent fraud in Pokémon.
Against regular trainers, these laws would obviously be less enforced, as it would be too difficult to keep track, but good-willed trainers should be incentivised to report anyone they suspect is commiting fraud in this way.
As far as I know, Pokémon Gold, Silver & Crystal, and Pokémon HeartGold and SoulSilver are the only games in the series in which you can participate in major fraud.