When you add a dll to your project and you want to deploy your application to another machine, that same dll has to be in the GAC or in the bin. Here are instructions on how to put your dll in the bin (this is called a bin deploy):
http://msdn.microsoft.com/en-us/library/t1zz5y8c.aspx[
^]
However, this only works well for files that have very little in the way of dependencies. You cannot, for instance, bin deploy .NET 4.0. Even bin deploying MVC3 can be tricky, as you can see here:
http://www.hanselman.com/blog/BINDeployingASPNETMVC3...[
^]
Your best solution, in almost all cases, is to have framework and system dlls installed the right way in the GAC. The DirectX dlls are in that category.
As for Windows Media versus DirectSound, I would say that depends on what you are most comfortable with. I am not terribly familiar with using the two, but I believe Windows Media uses DirectSound so there shouldn't be a difference between the two as far as what they can play.