So with that figured out I set about stopping the caching. Low and behold there's a method on the loader to turn caching off. But when I do that I end up getting nothing from the loader when I have what would be a cache hit. So instead of getting the wrong clip I get nothing! This I believe is a DirectX bug but since DX8.1 is long since dead I'm guessing I'll never know for sure.
The good news is that I found another method that simply allows you to clear the cache. So leaving caching on and simply clearing the cache after each load now seems to work. I'm getting all of the right sounds at the right times. Lets hope it stays that way.
The lessons learned from today's work are:
1. If you're going to "try to help" at least try to be smart. Check that the data I'm trying to load not only comes from the same memory location but also has the same size, format, etc.
2. Don't let a bug block you. Go with the not so elegant solution if it works.