I've spent a while looking at this and think the problem boils down to the fact that you are using an ajax control which actually replaces the select list with dynamically generated html instead. In fact the original select gets hidden, which makes it problematic to change.
The way I have worked around this type of problem in the past is to use the ajax controls javascript API to set the value and then trigger it's methods by using Watin to execute scripts.
Here is my code:
IE myIE = new IE();
myIE.GoTo("http://www.marketoptions.com/trading-platform/");
myIE.SelectList(Find.ByClass("assetSelect chzn-ltr chzn-done")).WaitUntilExists();
// remove the currently selected value
myIE.DomContainer.Eval("$('td.assetControl select option').removeAttr('selected');");
// set the new selected value
myIE.DomContainer.Eval("$('td.assetControl select option:contains(EUR/JPY)').attr('selected', 'selected');");
// update the ajax control to refresh the UI
myIE.DomContainer.Eval("$('td.assetControl select').trigger('liszt:updated');");
// sit back and enjoy the view as you hopefully see the UI showing the value that you wanted :)
Thread.Sleep(8000);
Obviously you will need to change EUR/JPY to the value you want.
Also, notice that I am using td.assetControl select as the selector. This assumes it is the only select in this cell. The selector you are using actually finds 4 matches when I first tried this in the browser. So maybe that was causing some problems too. There is actually an id on the select you can use if you think it is likely to stay the same (it looks like it might be auto generated though)
Hopefully this will work for you! let me know how you get on.