I'll start by saying that your usage of Cues is very inneficient. Generally speaking, you want to be careful with keeping instances of Cues. If you need to be able to play/pause, that's fine, but if you just need to play the sound, use the PlayCue method. Otherwise, you will need to manually dispose of the Cue once you are done with it every time.
In your code, when you add a sound, you use the GetCue method to get an instance of the Cue, then you store it in a list. Then, to play the sound, you loop through to find the instance using the "name" ... and then once found, you use the Cue instance's name to call PlayCue.
A better approach would be to simply call PlayCue when you need to play a sound. If you really really need to pause/unpause (and I would really analyse your situation to see if you really do need that functionality), then add specific functionality. Like, if it's for background music ... add a StartMusic method that gets the cue and stores it in a class level variable. Then, you can say pause/stop music ... and when it's done, you can dispose of the Cue instance.
hope that helps :-)
Joel Martinez - XNA MVP
Blog:
http://codecube.net
Play Videos on an XNA Texture:
Scurvy Media
XNA Unit Testing:
Scurvy Test