AdminBug reports 23Suggestions 4Exploits 0
Closing this - Mark's v54 pass confirms the character stops wearing an item the moment a scroll destroys it.
Your diagnosis was exact: it was gone from the equipment inventory but still on the player. Emptying our equipped array only emptied the equip WINDOW. The avatar is rebuilt from an equip-changed event and the held weapon from a weapon-changed event, and a dark-scroll curse emitted neither - so a boomed cape kept being drawn on the character, and a boomed Pendant of the Spirit kept quietly accruing EXP, until your next equip change or a relog. Cosmic re-broadcasts the look on exactly this path: ScrollHandler.java:172-174 calls chr.equipChanged() when the result is CURSE on a worn item. Both events now fire.
One authentic exemption you may hit and should not report as a bug: a WEDDING RING is never destroyed by a dark scroll. ScrollHandler.java:137,159-165 keeps it worn and downgrades the result to a plain fail.
LIVE on the published build.