Descobri! Ao usar a classe WebClient, estava baixando os dados como uma string.
Minha configuração original...
System.Net.WebClient wc = new WebClient();
string htmlData = wc.DownloadString(myUri);
Tentei converter esses dados em UTF-16... da string atual, mas como a Microsoft opera em UTF-16, ela cuidou da conversão por conta própria.
Em vez disso, mudei minha abordagem para ler a matriz byte[] real dos dados assim ...
System.Net.WebClient wc = new WebClient();
string htmlData = UTFConvert(wc.DownloadData(myUri));
private string UTFConvert(byte[] utfBytes)
{
byte[] isoBytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, utfBytes);
return Encoding.Unicode.GetString(isoBytes);
}
Isso corrigiu o problema, e o SQL vê corretamente os acentos em tudo agora. Yippee.
Abraço a todos e obrigado pela ajuda!