1. Have a save file with one or more party Pokemon
2. Save the game
3. Save a state, and save the game again, but shut it off quickly, while it is saving
4. If you get a "The file data is destroyed!" message, create a new player and move on to step five. Otherwise load the state and repeat step three..
5. Save a second state
6. Save the game, and turn it off quickly while it is saving, but not as quick as possible. There is a specific window. (I'm sorry I can't really elaborate :/)
7. If you get a "The file data is destroyed!" message, load state two and repeat step 6. Otherwise, choose "Continue", and go to step 8
8. Check your party Pokemon! The party Pokemon from the previous save should be there.
I have recorded a video demonstrating this, where I end up with three Pikachus at the beginning of the game. For some reason, the audio is distorted (it raises and lowers pitch sometimes), and I apologise for that.
I kept testing this, and if you have six Pokemon in your party when you receive Pikachu, it seems to disappear. It doesn't end up in a box, nor does it overwrite any of your six party Pokemon. Perhaps it is overwriting a Pokemon in a seventh or higher slot? Also, I wonder what other data is retained from the corrupted save file.
Notice how the OTs of the Pikachus are preserved, and so the old ones have a normal Pikachu cry, while the one with your Trainer ID has the special cry. If you have six Pikachus already when recieving it, no Pikachu will follow you around, since they all have a different Trainer ID.