Sprite errors are cases where the appearances of in-game sprites are different from how they are supposed to be, not because of programming logic errors but because the sprite data themselves are wrong in some way (usually inconsistency with other similar sprites). This page lists known sprite errors in the Pokémon games.
In Generation IV
The HM05 Defog disc colored like a Water-type TM/HM
In Pokémon Diamond, Pearl and Platinum, TMs and HMs have sprites that are colored based on their type, like in Pokémon FireRed and LeafGreen and Pokémon Emerald.
TMs and HMs that teach Water-type moves are supposed to be a deep blue. While Flying-type TMs and HMs are normally colored a lighter blue, the HM that teaches Defog is colored a deeper blue, as if it teaches a Water-type move.
In Generation V
In Japanese versions of Pokémon Black and White, Retaliate is a Normal-type move, but its TM sprite is shown as a Dark-type move. This has been fixed in other language versions of those games.
TM94 Rock Smash
In Pokémon Black and White, Rock Smash is a Fighting-type move, but its TM sprite is shown as a Rock-type move. This has not been fixed in newer releases.
In Generation VII
Flying-type TMs (TM14 Fly and TM50 Roost)
Since Pokémon FireRed and LeafGreen introduced icons for items to the mainline Pokémon series, TMs have been represented by a disc (colored according to the move's type); HMs use a variant of the same design with an oval cutout in the topmost part of the disc. In Pokémon: Let's Go, Pikachu! and Let's Go, Eevee!, there are no HMs (since they are functionally replaced by Secret Techniques), so even TM47 (Surf), which teaches a former HM move, uses the TM icon.
However, in Pokémon: Let's Go, Pikachu! and Let's Go, Eevee! 1.0.2 (and likely in earlier versions), the icon for Flying-type TMs has the oval cutout that is otherwise unique to HMs. This affects TM14 (Fly) and TM50 (Roost). Note that although Fly is a former HM move, Roost has never been a HM move, or even a field move, in any of the previous games.