You should be able to play multiple sounds at the same time by calling Mix_PlayChannel multiple times. That should work for up to 8 sounds at the same time. If you need to be able to play more sounds at the same time you can use Mix_AllocateChannels to increase the number. http://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer.html#SEC26
Yes I did, and just tried it again. For example, my character shoots lances which makes a sound, and then I have enemies running around with sound being looped in the move function. After a compile and run, only the enemies sound is playing, while my shooting is not doing anything. It's a bit strange.