Quote: "I can't play the single sound file multiple times as the same time"
You should be able to, every call of PlaySound(1) will create a new instance of sound 1 and start it.
Quote: "Any chance we can have individual sound volumes too"
Currently there is no way to reference a playing sound. In theory I could have PlaySound() return a unique ID that points to the that instance, but it would quickly become invalid once the sound finished playing.
Quote: "What API does AppGameKit use when it comes to audio playback"
On Windows it uses DirectSound.