Eu tenho o mesmo problema, mas anos depois!
Meu servidor instalou no gac a versão 6.4.6 do MySql Connector, mas estou trabalhando com a versão 6.8.3, estava recebendo o erro "cannot be cast". Eu consertei adicionando a seguinte seção ao arquivo .config
<system.data>
<DbProviderFactories>
<!-- Removes the dll installed in gac-->
<remove invariant="MySql.Data.MySqlClient" />
<!-- Add the dll copied in the bin folder-->
<add name="MySQL" description="ADO.Net driver for MySQL" invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"/>
</DbProviderFactories>
</system.data>