It makes plenty of sense, given the stack based nature of fallouts script interperater. play_sfall_sound pushes a result value onto the stack, your script never pops it off, and fallout ends up crashing. Storing the result in a variable, even if you don't use that variable later, gets the stack...