En ese caso si todo te funciona correctamente no hace falta que le eche ningun vistazo. De todas formas esta bien tener todo comentado en caso de que quieras pedir ayuda, para que el que te ayude le sea mas facil encontrar el fallo.
Te copio lo que tengo guardado de thief en un pastebin, espero que este te funcione: [Z80 Assembler] 37492: ; thief jp 7f20 7f20: push af push hl ld a,[IsInBattle] ; d22d cp - Pastebin.com
Ten en cuenta que yo asumí que los wild pokemon rivales nunca podran saber thief (ya que originalmente ningun pokemon aprende thief por nivel). Por tanto, todo lo que ocurra respecto a thief en un combate salvaje sera permanente, y en un combate de entrenador sera temporal, mientras dure la batalla.