I'm noticing a lot of confusion as to what the variables are currently holding (one such instance equaling a Game_Actor object and then, during the scene, changes into an integer). I was able to get past the first error evident in the demo, which was getting the demo to actually run. But swapping and removing actors in the scene are bringing up errors, mostly in drawing actor stats (e.g. the methods require a Game_Actor parameter, but an integer is passed instead).
The #all_members and #party_members methods seem really redundant when $game_party.actors already does that (unless, as I said before, you have a way where there can be duplicate actors in the party).
EDIT: Seeing a lot of instances where you do $game_party[Game_Actor object]. Every time I change one thing, another error pops up. I'm not going to go through all of this and fix it--I'll point you into areas instead.