Реших същата грешка, като просто добавих набора от знаци към низа за връзка:
Server=myServer;Port=3306;Database=myDB15;User ID=usr33;Password=usr33P;CharSet=utf8;
В моя случай използвам MySql Connector за .Net версия 6.9.3. за да се свържете с 30 еднакви бази данни със същата структура, същото съпоставяне (utf8_unicode_ci ) и различно съдържание на таблицата.
Когато стартирах MySqlCommand.ExecuteReader() метод за избор на съдържание от потребител таблица, в някои бази данни (4 от 30) a получи същата грешка Даденият ключ не присъстваше в речника .