Back in Indigo Plateau (1st season), Pikachu declined a chance to use a Thunderstone.
When Gym Leader Lt. Surge was teasing Ash of being a "baby," Ash's Pikachu attacked Surge's Raichu, but Raichu knocked Pikachu out. Brock suggested that Ash use a Thunderstone that Nurse Joy offered, but Pikachu decided to grow stronger on his own without a Thunderstone, then Ash got the idea of teaching Pikachu Agility. Therefore, Pikachu may never evolve.
This makes sense, since there was another Trainer who rivaled Ash in Hoenn and had a Meowth with the same story: it lost to a Persian once and then hated all Persians since then.
ps...google has the powa .