Um, my experience is that sounds using the say command get fifo(First In First Out) queued. If the sound file is long, it will play itself out, nothing you can do about it. If a unit is told to say several sounds in succession without a pause between them, each sound will eventually play in turn. Solution, make sure your pauses between say commands are slightly longer than the sounds themselves. The say command will not work one a unit once it is dead, but all say commands issued before the unit is dead will still be played.
If you want to make a dead man speak, however, setPos a game logic to his position and make it say the sound. I discovered this when trying to make a dead man fart.