Jag hittade lösningen själv när jag dissekerade TLS-protokollet. Det visar sig att klienten som inte fungerar i exemplet ovan skickar mitt klientcertifikat under handskakning; och klienten som fungerar gör inte det. Tydligen är kryptering etablerad ändå (jag har inte fortsatt in i TLS-protokollet), och förmodligen sker ett certifikatutbyte/nyckelutbyte längre fram.
För att få anslutningen att fungera behövde jag bara ändra anslutningssträngen och ta bort alla Certificate*=-nycklar. I synnerhet "Certificate Store Location=CurrentUser". Min nuvarande, fungerande MySql SSL-anslutningssträng är:
server=xxx.yyy.zzz.uuu;database=whopper;user=Username;password=Secret;Pooling=false;SSL Mode=Required;Keepalive=60
Som en sidoanteckning, när jag dissekerade kommunikationen, fann jag att Tamos CommView gör ett bättre jobb än WireShark när det gäller att avlyssna och dissekera under VPN-kommunikation. Kanske på grund av WinPCaps oförmåga att dissekera VPN-paket under Windows 7 x64. TLS-dissektorn i CommView är också det som verkligen hjälpte mig att hitta problemet med handskakning.
Också som en andra sidoanteckning. All SSL/TLS-kommunikation i Windows hanteras av en DLL som heter schannel.dll. Full inloggning i System EventLog för den dll-filen kan aktiveras genom att skapa DWORD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\EventLogging med värdet 7. Läs mer här:http://support.microsoft.com/kb/260729 .
För att få det att fungera. Ta bort saker.