Not for debugging, for sending over a socket connection. (working on plug and play pvp battling). I figured out that problem anyway. PokeBattle_Battler has an instance variable @battle which refers back to PokeBattle_Battle. When attempting to dump the battler, the battle variable also gets dumped. PokeBattle_Battle contains the scene variable which refers to PokeBattle_ActualScene so in actual fact I ended up dumping the entirety of the scene and logic of the battle. Creating custom marshal dump and load methods for PokeBattle_Battler which excludes @battle (and @moves since PokeBattle_Moves also has a @battle instance variable) solved the problem.
Also, you wouldn't happen to have a layout of the battle logic and how, in specific, pbAttackPhase maps out the attack logic. I think I have the basics mapped out in my head but its difficult to keep track of, if not, cheers anyway!