I don't think that will work because FU(arch_OnFirstBattleAnimation) executes even earlier than FU(OnBattlefieldVisible). Assuming later = safer, FU(arch_OnFirstBattleAnimation) is worse.
Anyway, only a few players got crashes playing animation FU(OnBattlefieldVisible). I probably would hook a new place and see how that goes.