The only way I can think of right now that uses the cast time is $npc->CastSpell, however you really need to use this with a Translocate target spell which pops up a confirmation box that the player must accept.
E.g. the following will cast translocate Nexus after the spell cast time is over:
	Code:
	sub EVENT_SAY
{
        if ($text=~/Nexus/i) {
                $npc->CastSpell(2943, $client->GetID());
        }
}