Well, that explains everything. Seems you're right.TheMaskedNitpicker said:I believe Whirlwind and Roar always fail against a Pokémon that has a higher level than you. That's how it's been for a while, I think.
Funny how neither Serebii, Smogon nor Bulbapedia mention that.
EDIT: D'oh. It's mentioned in Bulbapedia's article on Roar but not on Whirlwind's. Apparently the mechanic is new to this generation. Supposedly still works against trainers even if their Pokemon are higher level though.