If I do that, I may as well integrate a dummy recycler into Spell System, as well. Well, maybe I should do that?
From what I can see in your script, there are two things I would change. The first is to use the Spell__Trigger_OnFinish event to destroy your special effects as that will catch the exact instant the spell ends. It will also end the Spell__Duration immediately unless you set a new duration or time. I'm quite sure I added that event based on what I saw in this resource.
The second thing is to only do the knockback when you cast chain lightning (which makes sense, and may give the knockback victims a chance to sneak in a hit if they can return fast enough). The reason why is because you can then set Spell__Time to CL_Interval when you set the duration and not requiring you to set your own sequence that way. This is something I would do for simplicity's sake, but I understand if you want to keep the knockback as a constant pulse. It makes more sense to me to do the knockback pulse at the same interval as the visual pulsation of the lightning.