Urgh, people are going to cheat in any and every game, especially games of this nature that require some type of effort to get every Pokemon. This is not the basis of a discussion, it is a fact, people will cheat, people will use R4's, people will use cheat cartridges.
I ask anyone here if they ever found MISSINGNO, and in turn got infinite of whatever their 5th item was, rare candies, master balls, what ever, because here's a newsflash, that was a CHEAT.
Until they make games that can't have their code altered, we will always have cheaters.
The best thing you can do is avoid cheaters, mainly by looking at user ID's and stats, and stop moaning about something that can't be stopped.
To quote Kyle Reese in Terminator,
"It can't be bargained with.
It can't be reasoned with.
It doesn't feel pity, or remorse, or fear.
And it absolutely will not stop, ever, until you are dead!"
It's like moaning about earthquakes when you're living on a fault line.
Stop it.