It was… by design.
"I don’t want to get too deep into the under-the-hood workings of WoW servers, but here’s a super short version. Any action that one unit takes on another different unit used to be processed in batches every 400ms. Some very attentive people may have noticed that healing yourself would give you the health instantly (minus client/server latency), whereas healing another unit would incur a delay of between 0ms and 400ms (again, on top of client/server latency). Same with damaging, applying auras, interrupting, knocking back, etc.
That delay can feel bad just due to the somewhat laggy responsiveness feeling, but also because the state of things can change during that time. For example: Holly the Holy Priest is healing Punky the Brewmaster. Punky spikes low, and Holly hits Guardian Spirit in a panic. The server verifies that Holly is able to cast it, and that Punky is alive (great!). The cast goes off, Guardian Spirit goes on cooldown, and a request is placed for the Guardian Spirit aura (that prevents dying) to be placed on Punky. That request will be filled next time the 400ms timer loops, which happens to be 320ms from now. 250ms later, the boss lands another hit on on Punky. Punky dies. Sadface. Another 70ms goes by, and the Guardian Spirit aura request pops up, and goes “Hey guys, I’m here!.. Aww… damn, I missed the party. Sadface.”
We no longer batch them up like that. We just do it as fast as we can, which usually amounts to between 1ms and 10ms later. It took a considerable amount of work to get it working that way, but we’re very pleased with the results so far; the game feels noticeably more responsive." - By [Celestalon] [on 2014/06/18 at 2:30 AM] (Patch 5.4.7)
Not a flaw.
Also by technicality, batching still exists but it was shortened to such a degree that it is ridiculous.
As such, being a piece of design during the Vanilla warcraft era it was default part of Vanilla. Not a bug, not a flaw, not something to be fixed. It was not an issue to be exploited and not a cheat to be abused. You compare using two classes but that very design allowed fights to work in that manner. Changing it alters the balance of the game.
To alter the balance of the game is to go against what Blizzard staff have directly stated.