surface.PlaySound already reads from the sound/ directory (meaning it's trying to play the file sound/sound/ragequit.mp3). Just change sound/ragequit.mp3 to ragequit.mp3. (Leave the resource.AddFile as it is.)
resource.AddFile("sound/ragequit.mp3")
local function PlaySound( )
if GetRoundState() == ROUND_ACTIVE then
BroadcastLua('surface.PlaySound("ragequit.mp3")')
end
end
hook.Add("PlayerDisconnected", "GuyLeft", PlaySound)