Thank you for the criticism. I had little time to actually balance the waves and to properly test the game, so yeah, sometimes the game bugs out hard. As for the movement, there's basically an invisible wall, which they just build a path around. To be perfectly honest, I am thinking, that I either should've just make it visible to the player, so they would have a better idea of what's going on, or make it tighter, so fairies won't return even after moving into the path this much.
As for the towers upgrading, you are right, I forgot to add the code to substract money.