es por algun error de truncamiento. En algun sitio de esa pagina web se explica la mecanica de captura al detalle si recuerdo bien. En general algunas operaciones que podrian hacerse usando dos bytes se usan usando 1 solo ya que teniendo en cuenta que los niveles a los que aparecen los pokemon salvajes nunca son muy cerca del nivel 100, todos los calculos caben en 1 byte. Es posible que si utilizas pokemon a niveles muy altos con valores de hp mas elevados de lo normal se alcanze un desbordamiento en algun punto de los calculos, y si en algun sitio se fuese a dividir entre un teorico 256, podria convertirse en una division en 0 al ignorar el segundo byte.