Eating a fiery corpse has incorrect logic. It should match the logic for acidic corpses.
From corpse_effect() in cmd6.c in TOME v2.3.4:
case RBE_ACID: <snip> if (!(p_ptr->immune_acid || (dam <= 0)))
case RBE_FIRE: <snip> if (p_ptr->immune_fire || (dam <= 0))
ToME Wiki