Vypadá to, že používáte objekt MySqlCommand, alespoň ve vašem druhém příkladu. Abyste získali jakoukoli výhodu z připravených příkazů, museli byste nelikvidovat objekty připojení a příkazů. Po nastavení CommandTextu a před nastavením jakýchkoli parametrů budete také chtít zavolat přípravu.
https://dev.mysql .com/doc/connector-net/en/connector-net-programming-prepared-preparing.html
Také parametry připravených příkazů v MySQL nejsou pojmenovány, jsou specifikovány na základě objednávky. CommandText by měl obsahovat pouze otazníky tam, kde jsou parametry, a objekty parametrů je třeba přidat přesně v tomto pořadí.