Jag tog så småningom upp källkoden för MySql Connector / .NET och upptäckte att om MySqlCommand.Connection.Settings.IgnorePrepare =true (vilket är standard!), så är anropet Prepare ett nej.
Sättet att fixa detta är att uttryckligen ställa in IgnorePrepare till false i anslutningssträngen. Detta kan göras ganska enkelt med en MySqlConnectionStringBuilder med följande kodsnutt:
MySqlConnectionStringBuilder connBuilder = new MySqlConnectionStringBuilder();
// .. set up the rest of your connection
connBuilder.IgnorePrepare = false;
MySqlConnection conn = new MySqlConnection(connBuilder.ToString());