In Pokemon Red, I have a Pidgeot and it knows the move whirlwind. But whenever I use it in a trainer battle, it doesn't affect the opponent's Pokemon! Which Pokemon species/types are affected from this move?
Whirlwind has a different effect in trainer battles vs. wild battles. Against trainers, it forces them to switch out to a new pokemon at random. If they have no other pokemon, it has no effect.
No pokemon are immune to it, as far as I remember, except in later generations where some abilities prevent involuntary switching.