3D sound via python in the BGE?
It seems handle.relative defaults to True. Setting it to false fixes the lack of attenuation, but to get doppler shifting you must tell audaspace the velocities of the source and listener objects as well:

import bge
import aud

sound = aud.Factory.file(bge.logic.expandPath('//laserfire01_mono.wav'))
scene = bge.logic.getCurrentScene()

def main(cont):
    own = cont.owner

    sound_device = aud.device()
    sound_device.distance_model = aud.AUD_DISTANCE_MODEL_LINEAR
    sound_device.listener_location = scene.objects["player"].worldPosition
    sound_device.listener_velocity = scene.objects["player"].getLinearVelocity()

    sound_handle = sound_device.play(sound)
    sound_handle.relative = False
    sound_handle.location = own.worldPosition
    sound_handle.velocity = own.getLinearVelocity()
    sound_handle.distance_maximum = 100
    sound_handle.distance_reference = 1