http://www.nwnlexico...etBehaviorState
This might allow you to make the npcs into cowards - as for making them immobile - you would have to paralyze them or Immobilize them with Cutscene paralysis / immobilize.
You could also repeatedly make the npc play the animation : ANIMATION_LOOPING_TALK_PLEADING Which will kinda look like a begging animation (while standing)
As for your second question:
I don't think you need the braces around the effect/spawning bit.
However I think the reason for your effect not playing, is perception based.
When a creature is spawned, there is a small delay during which they are not perceived yet by the player.
If they are not perceived, how will the player be able to see any effects playing on the npc, if the npc itself is invisible at this time.
To solve this:
Play the vfx at the location of the npc instead. This way, your perception of the vfx is not tied to the creature itself.
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVFX, GetLocation(oSpawn));