Creo que el problema esta en la checkflag, no he estado haciendo scripts pero por lo que recuerdo, el givepkmn debe tener dos flags distintas.
El checkflag no debe tener la 800 debe ser cualuier otra libre, y ahi poner el if 0x1 y el 0x0 que 0x1 manda si esta activa, la flag 800 solo sirve para activar el menu.
Espero te sirva
saludos
Por cierto es recomendable que hagas una copia del
rom si usas una flag equivocada
ah y creo que debe estar primero lo que dice despues del givepkmn y luego poner la direccion aparte con el givepkmn