Сделал наконец-то DirectSound3DBuffer, вот демка:
http://tuapse-mikle.narod.ru/dx_vb/DS3D.zip
Работает так - экземпляру DirectSound3DBuffer передаём при инициализации готовый экземпляр DirectSoundBuffer8 (почти наследуем ). Далее управляем только через интерфейс DirectSound3DBuffer. При инициализации так же передаётся размер источника звука, определяющий "размазанность" звука в пространстве. Управляем так же, как экземпляром обычного DirectSoundBuffer8, только нет доступа к панораме - она вычисляется автоматически в методе Update. Метод Update вызывается при изменении позиции источника звука или позиции\направления камеры.
В демке есть один красный шар, которым мы управляем, и семь зелёных, которые "звучат". Позиция слушателя соответствует позиции камеры, а не красного шара.