I think the reason they stopped Pokemon at 251 is because the game code uses one byte (8 bits of two positions) to hold the Pokemon number, and 2^8 is 256. Therefore, unless they want to rewrite the next Pokemon game from scratch, they have to keep 255 or lessPokemon. (The 0 byte means no Pokemon.)