It looks like there might be a couple of problems on this page. The first problem I see is that you have an option outside of the select list:
<option value="" selected="selected"></option>
This should not be, options are only valid when they are in a select list. Next I can see that you are making a comparison against the $row_selected_country['ISO2'], the value comes from the recordset that is filtered by the session variable $_SESSION['shippingcountrySI'], this session variable is based on the cookie $_COOKIE["shippingcountry"].
This cookie is not set until after the session code and the recordset. To resolve this I think you will need to put this set cookie code that is on lines 137-141 up above the set session server behavior that starts on line 9. If the values are all being set correctly and the recordset is coming back with the value it should I think this will work for you.
It is really a complicated way of doing this. I think the best way to do this would be to set the cookie in the onChange event of the select list. Then just use that as the 'select value equal to' value. This should yield the result you are looking for without nearly as many steps.