The first thing to realize is why Vanish used to work, and why it doesn't now.
As I understand it, in TBC, Vanish was able to be based on spell cast times: if a cast took place after Vanish had been cast (but before some kind of damage/AoE/tick, etc. took the rogue out of stealth), then the damage taken from the spell did not have the effect of bringing the rogue out of stealth. This was the case even if travel time meant the actual damage from the spell would hit the rogue, but not cause Stealth to break.
In Wrath, a change happened in the backend game engine that caused spell cast damage wrt to bringing a rogue out of Vanish to happen at the time the spell arrived. What this means is if you Vanish just after someone cast a frostbolt, when the frostbolt hits, the damage takes the rogue out of Vanish/Stealth.
The goal of the 3.3 'patch' was to change it and put in a .5s invulnerability. Problem with that:
- The developers intend/always intended for AoE to be able to pull a rogue out of vanish, even immediately after it. If you're standing in consecrate, vanish should not be the spell you cast.
- .5s is insufficient; for something like Wrath (as an example), the travel time at max range is ~2s. So the .5s immunity didn't 'solve' the problem.
The real fix probably requires a significant (not-patch-level) change to the way the game engine handles the vanish / spell cast -- essentially fixing the underlying bug that was created in Wrath. The .5s invulnerability fixed the problem the wrong way, and only really solved the problem for close-range fighting, while introducing behavior that the developers did not intend.
As a result, the Vanish fix was reverted, and a real fix will come (if it does) probably attached to an underlying change in the game/combat/spell casting engine rather than a 'hack' like temporary invulnerability.