finish actionを削除すると動いた理由としては、そのデフォルト値に関係が有るかと考えます。
このタグを入れない場合、
コード: 全て選択
<finish action>
immortal: targets, false
wait for new line
clear battle log
perform finish
wait for movement
wait for effect
action common event
</finish action>
(BattleEngineCore内、Yanfly.BEC.DefaultActionFinish をご確認ください)
各コマンドの効果から考えると、今回の件に影響しているのは immortalの行(不死身解除による死亡タイミングのズレ)か、wait for effect(消滅エフェクトはeffectの一種ですので、これによって終了まで待たれる)の行かと考えられます。
ご参考までに。