because you're messing with the players self.think by using "other".
You could simply spawn another entity once those 10 seconds are up to play the sound OR spawn the entity immediately, have it count to 10, then have it play the sound, then remove itself once the sound is finished playing.
Pros:
Simple, gets the job done
Cons:
Extra temporary entity in the game world, can be deadly for older quake engines if you're near the MAX entity limit.
Or,
define 2 variables.. "sound_on", and "sound_count".
If the player touches the trigger, sound_on becomes TRUE on the player, which then activates self.sound_count, which will count upwards. If sound_count > #, then play the sound, reset sound_count to 0, and self.sound_on to 0 also as to stop it from repeating.
Pros:
No messing with think times, no spawning additional entities (if you're really worried about that).
Cons:
You're increasing the # of variables on every entity.