So true. Pokemon anime is sh*t. Some things to note for #4 though:
1. Pikachu cannot evolve unless you give it a thunderstone; therefore, you are presented with an option as to whether to evolve it or not. Ergo, if one truly prefers a Pikachu rather than a Raichu, then the player won’t make Pikachu evolve with a thunderstone.
2. You can press the B button to cancel evolutions.
Bottomline: Revise your point #4.