Thank you for your comments, cH053n. Your post on OT escape sequence is interesting, I found out the same results as you for the most part and if you want to complete your table, I have found out that:
- Fateful encounter is basically the same case as Event (except for Shaymin in Pt) and terminator for those is all \FFFF
- NPC Pokémon Gift like those first badge monkeys is the same as starters and NPC trade, with simple escape sequence.
ALL name fields have AT LEAST one terminator \FFFF to mark the end of the name; I call this simple terminator. Some others, most importantly wild pokémon, have double terminator, i.e. \FFFF at the end of the name AND at the end of the field. Even if you remove what you call the "terminator sequence", you will still have the mandatory first terminator. It doesn't appear in PokeGen but that's because PokeGen is smart and will always include it (otherwise it can corrupt your save file). Pokécheck should handle most cases correctly but I think it is missing roaming and maybe some NPC cases.
There is no check for level and items, I'll add it or part of it (like Codr said I don't really want to keep a database of stuff updated). Also I don't have a table of released dream world pokémon and genders, if you know where to find one I should add a dream world legality check. Currently all gen5 dream world are flagged as hacked.
As for your Pikachu it was a bug that caused level up moves exclusive to the preevo to not be recognized properly. The check is not very smart and all invalid moves are listed as Hacked, even level up moves from higher levels.