Post-Apply runs after damage, so at that point value is meaningless. Do JS Pre-Damage instead.
I actually did try Pre-Damage before. It was the same thing. 0 dmg with or without states.
<JS Pre-Damage As User>
user.gainHp(user.skillTpCost(this.item()));
</JS Pre-Damage As User><JS Pre-Damage As User>
if (DataManager.isSkill(this.item()) user.gainHp(user.skillTpCost(this.item()));
</JS Pre-Damage As User>