Faz um tempo que não mexo com poketibia, então não consigo te ajudar completamente, mas vou tentar te dar uma luz.
Quando o player solta o poke, o sistema atualiza o status da pokebola, dizendo que agora o poke está fora.
Quando o play chama o poke de volta, o sistema atualiza o status da pokebola, salvando que agora o poke está dentro.
Pra usar surf/fly/ride o player solta o poke, e monta nele, ou seja, o sistema acha que o poke está fora da pokebola.
Se ele morre, o sistema ainda acha que o poke está fora. É preciso fazer um tratamento no sistema dizendo que se morreu o poke volte pra dentro da pokebola.
Como procuraria resolver isso:
Criando um script de morte, quando o player morrer, verifica se ele estava em fly/surf/ride, SE estava, então volta o poke pra pokebola.
Ou seja, criar um script de onDeath, e copiar parte do go/back, na verdade só o back, que é voltar pra pokebola.