Nice writeup and nice plugin.
By default, sounds under 3mb are cached the first time they are played. You can change this with the Cache property in XAudio2. This can mean a slight delay while a sound is loaded for the first time during a game. You can counteract this by using the Cache file or Cache directory actions to pre-load sounds in to memory at the start of your game.
So sounds over 3mb are cached before they are played?