Desinstale MySql.Data y reemplácelo con MySqlConnector .
(Divulgación:soy el reportero del error de MySql que encontraste y el colaborador principal de MySqlConnector .)
Además de solucionar ese problema y muchos otros errores , MySqlConnector agrega verdadera compatibilidad con E/S asíncrona y mejoras de rendimiento.
Si no desea cambiar de biblioteca, una función poco conocida de GetBytes
(compatible con MySql.Data y MySqlConnector) es pasar un null
buffer devuelve la longitud necesaria, por lo que no necesita codificarlo:
// get the length of the column and allocate a buffer
var length = dbDataReader.GetBytes(0, 0, null, 0, 0);
var passwordHash = new byte[length];
// fill the buffer from the column
dbDataReader.GetBytes(0, 0, passwordHash, 0, passwordHash.Length);