That’s not a bug, it’s more like a technical limitation. The only way to avoid this would be to not have skills like firecoat, or to set them to react to a specific action manually – which would require a recoding of the battle system, and a lot of other work.
Currently, a skill such as firecoat only reacts to a specific skill or skill tree – for firecoat, that’s the melee tree. Originally, it would trigger on ANY melee attack (anything that required you to have a Short Blades, Long Blades, Staves, Clubs, Brawling or Grappling weapon) – at that time, we only had Geostab as a partially-melee ranged attack (with three or four range, even) and firecoat would trigger on that one no matter where you stood.
Sheck devised another check for actions, that was put to use in firecoat – the “melee check”. This allows us to make an action only react if the attacker is standing in melee range as well. And that’s just the problem:
Boomerang Throw, Ranged Strike and Geostab – the three melee-based ranged actions that I can think of right now, all have a melee component (hence “melee-based”) but can be used not only from a distance, but also standing in melee-range. That latter situation triggers firecoat, as the game can’t distinguish between “It’s a ranged attack being used in melee.” and “It’s a melee attack.”
It only “sees”: “Firecoat is on the target of this attack. It reacts to melee. The attack is Short Blades, Airwind. That makes it components Short Blades, Blades, Melee, Airwind, Forces, Metatherics. Melee is one of the components. Firecoat also only reacts to attackers standing in melee range. The attacker stands in melee range. Both premises are fulfilled, firecoat reacts.”
Right now, I could think of another solution and wait, I’ll check if it is probably already being implemented… no, it isn’t. I’ll suggest it, though. If we make ranged melee-class attacks have a minimum range of 2, they simply can’t be used in melee anymore (they’re inefficient anyways).