OnEffectFinish will fire if RemoveSpell is used on an ability that is currently affecting the actor
just tested it with a very simple script-ability set up
heres the script if you'd like to test it for yourself
Scriptname csdTest1 extends activemagiceffectspell property csdAb autoEvent OnEffectStart(Actor akTarget, Actor akCaster) RegisterForSingleUpdate(10.0)EndEventEvent OnUpdate() Game.GetPlayer().RemoveSpell(csdab)EndEventEvent OnEffectFinish(Actor akTarget, Actor akCaster) debug.MessageBox("Removed!")EndEventI added an ability to the player via console with a magic effect that had that script attached. 10 seconds later the messagebox popped.