...when I try to make it wait for more than a few ticks, the sound plays in its entirety and the animation never takes place.
This is just a guess, but that sounds like your script is being interrupted. If so, putting LOCK and UNLK around that section should fix it.
That would be odd though, from everything else you've said about your agent, I don't think (also a guess) that there are too many other scripts running on it.