When a debuff overwrites a buff on a player, the buff state of that player can become out of sync between the server and client.
Client-side, the buff appears to correctly have been overwritten visually, except in an edge case when the player has max (15) buffs and the buff being overwritten is _not_ in slot #1.
Server-side, both the debuff and buff, which should have been overwritten, are active on the player. In the edge case described above, buff is correctly overwritten by the debuff, but whatever buff is in slot #1 is incorrectly removed.
Repro steps:
1. Cast Berserker Spirit (enchanter lvl 49) on player. Berserker Spirit should be in slot #1 and slot #2 should be empty.
[You must be logged in to view images. Log in or Register.]
2. Cast Weakness (enchanter lvl 44) on player. Client-side, Weakness appears in slot #1 and slot #2 appears empty. Ostensibly, Weakness overwrote Berserker Spirit correctly.
[You must be logged in to view images. Log in or Register.]
3. Zone the player to cause the client to sync with the server.
Result: Berserker Spirit is in slot #1, and Weakness is in slot #2.
[You must be logged in to view images. Log in or Register.]
This causes a few issues. If you dispell the player prior to zoning, the hidden buff (Berserker Spirit) is dispelled, not the debuff even though the debuff appears to be in slot #1. Any new buffs applied to the player (prior to zoning), will be out of sync e.g. it will appear in slot #2 client-side, but slot #3 server-side. This of course makes dispelling buffs appear to misbehave untill the player's client resyncs with the server e.g. by zoning/relogging.
I was similarly able to reproduce this behavior with Augmentation (enchanter lvl 29) and Cripple (enchanter lvl 53).