Hmm, maybe it could even be further simplified.
I don't remember anymore how it works with weapons applying spell effects on-hit, but there should be a spell running for a specific duration on the hit target. This spell now has a Scripted Effect the script of which is doing something along this line:
ref myself...set myself to GetSelf.Cast myself;this should make the activator cast the spell at the target this script is running on, according to the docs...
This way there wouldn't be any need to have the activator repeatedly check for objects in its surroundings to be affected by the on-hit spell effect, as the spell effect itself can command the activator to do the casting instead. I got this idea some time after my last post. Should work.