Avoid using "spells" altogether and simply use the following to move the player that triggers the event:
quest::movepc(zone_id, x, y, z, heading);
If you want a delay, set it to trigger a timer for x seconds, then under EVENT_TIMER paste the above (also may want to stop the timer...).
If you are transporting into an instance:
quest::MovePCInstance(zone_id, instance_id, x, y, z);
If you have a flare for the dramatic, have the npc cast a spell during the delay to make it appear that's the graphic he or she is casting.
See the second post in this thread
http://www.eqemulator.org/forums/showthread.php?t=38773 for using proximity say to create and port player(s)/group to an instance. It can be used with quest::movepc(zone_id, x, y, z, heading); as well for static zones or to a different area of the same zone/instance. Be sure you activate the proximitysay command in EVENT_SPAWN or it will not use it.