Firstly, great hack, man. Really love playing through XD with the new additions.
Now then, all the effects of the last turn of a battle occur when they're not supposed to, leading to some cheap deaths. (i.e. Burn, Poison, Perish Song) I think it has something to do with the way you coded the wait for end of turn to send in the next Pokemon instead of immediately.
Also, Bellossom used to be Grass/Fairy in previous versions, I'd love for it to be so again, though it doesn't have to be.
Finally, you could get more Pokemon lines in if you'd reduce the amount of duplicates available as either wild or Shadow. For example, Absol is both a wild Pokemon and a Shadow. This seems a little much. Other examples include both Bagon and Salamence as Shadow Pokemon, Swablu as wild and Altaria as a Shadow, and so on.