In Red, Blue, Yellow as well as Gold, Silver, Crystal, if a Pokémon's maximum HP is 0 but has at least 1 current HP; then the game will often lock-up, presumably when it tries to update the HP bar. I suspect it is another divide by zero problem akin the Psywave and 95h, FFh experience group (Yellow's hex:CA and Yellow's 4(h4? hex:ED have them respectively) glitches.
The game will lock up:
If the user's Pokémon:
*After "Wild (POKéMON) appeared!" even if the Pokémon isn't in the first position.
*After "Go! (x)" if the player encountered a Trainer and the Pokémon is in the first position.
*After opening up the party.
*After switching the relevant Pokémon.
If the opponent:
*After "Wild (POKéMON) appeared!".
*After selecting a move.
*After closing Fight, Item or PkMn. If PkMn is closed when the lock up occurs the party's menu sprites become invisible.
It should be possible to trigger this glitch with arbitrary code execution, and it may be possible to give the opponent a maximum of 0 HP with CoolTrainer corruption.