It looks like it would work to select the country after failed validation. I'd need FTP access to debug why it isn't.
If you set the default selection in your dynamic select Server Behavior to:
<?php echo(isset($_GET['v'])?ValidatedField("healthscreeningform_984","Country"):$rsEDITFORM->getColumnVal("SMCformCOUNTRY")) ?>
Just like you do in the input elements, then it should work the same way.
I'd also strongly suggest using webassist jquery client form validation. That catches most errors before the form submits and bypasses some of the complexities involved with server validation. Server Validation is a stronger validation and good for backup.