Desinstale o MySql.Data e substitua-o por MySqlConnector .
(Divulgação:sou o relator do bug do MySQL que você encontrou e o principal colaborador do MySqlConnector .)
Além de corrigir esse problema e muitos outros bugs , o MySqlConnector adiciona suporte a E/S assíncrona e melhorias de desempenho.
Se você não quiser trocar de biblioteca, um recurso pouco conhecido de
GetBytes
(suportado por MySql.Data e MySqlConnector) é passar um null
buffer retorna o comprimento necessário, então você não precisa codificá-lo:// 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);