The reason the game crashes is because they don't have dex entries. When you catch a pokemon, it's dex entry is loaded and displayed. A solution for wild pokemon, is write at the start of the game, is give the player all 25 pokemon using the givepokemon command and then take them away by writing 600 "00"s to the party location or by using that special that clears the party (obviously 6 pokemon at a time, so they don't get set to the PC). I can't remember what special number it is though. This will pre-register them in the dex so that their entries won't be loaded. You could also just use them as evolutions (Eevee?) or pokemon just given to the player that never appear in the wild.