So, I've been looking at AbilityTask.lua as ntropy suggested, and it is very interesting. It inspired me to try some other things, which eventually lead me in a full circle back to the item code for the sludge slinger and the parasite egg.
What I found was unexpected, the fix to part of the problem, I think. All you have to do is add "IgnoreFacing = true," to the item code, and the "stuck while in range but not facing the target problem" is eliminated.
Now, my initial intuition was that IgnoreFacing = true would lead the caster to cast the spell without changing facing, however this isn't the case. The caster does face the target, trigger the effect, and then resume the previous command. That this can happen also suggests that all abilities may be able to resume previous orders. So, for example, the wand of speed could possibly be made so that you don't stop moving to trigger it. That however is a balance issue, and not seemingly a bug fix. I
However, when the target it out of range, the behavior is different. In this case the caster moves within range, casts, and then shifts to autoattack status.
For ranged demigods there was another oddity that I'm trying to understand. After cueing a move order and then using an item, the caster starts attacking. This may be because the move order is converted into a move attack order. Further testing is required.
In conclusion, adding "IgnoreFacing = true" to the item will mostly fix the problem.