<p>Exception is: 
'Country' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value</p>

<pre><code>UserService.DsUserAttributes dsCountry = us_service.GetUserAttributeDropDown(systemId, "Country");
Country.DataSource = dsCountry.tblDropDownValues;
Country.DataTextField = "AttrValue";
Country.DataValueField = "Id";
Country.DataBind();
</code></pre>

<p>The values held within dsCountry.tblDropDownValues are:</p>

<pre><code>Id                                      AttrValue       AttrName
aefa28e0-a118-11dd-ad8b-080c210c9a66    PLEASE SELECT   Country
213a743e-ea0b-419c-bd44-03b1c35241b3    USA         Country
eefa1387-8dc0-11d8-975f-13da67a41a5d    CANADA          Country
</code></pre>

Try binding the data on postback.  It sounds like when the event handler is accessing the DropDownList, it hasn't been repopulated with the values you are initially binding to the DropDownList.
Also, remember to bind early enough so that it is bound before the event handler starts its processing.  OnInit or OnLoad should be good enough.
Otherwise, might need some more details:
When is the exception occurring? During the rendering, or on the postback in the event handler?
Do you have a stack trace on the error that might point to the point in the code where the selected value is accessed?
When are you binding the data?