I was battling this Ninja Boy, everything was going good. Until that little flu ball (Koffing) used Self-Destruct. It was just level 17 though; and normally Koffings learn the move at level 23.
Is my game just desperate, or is it something deeper...?
Koffing can know Self-Destruct at level 1 via an egg move, it's not breaking the game rules.
With that said, there are quite a few instances of Pokemon in the games that do break the rules, see this list.