Wygląda na to, że używasz obiektu MySqlCommand, przynajmniej w drugim przykładzie. Aby uzyskać jakiekolwiek korzyści z przygotowanych instrukcji, nie trzeba usuwać obiektów połączeń i poleceń. Będziesz także chciał wywołać przygotowanie po ustawieniu CommandText i przed ustawieniem jakichkolwiek parametrów.
https://dev.mysql .com/doc/connector-net/en/connector-net-programming-prepared-preparing.html
Również parametry przygotowanej instrukcji w MySQL nie są nazwane, są określane na podstawie kolejności. CommandText powinien zawierać tylko znaki zapytania w miejscu, w którym znajdują się parametry, a obiekty parametrów muszą być dodane dokładnie w tej kolejności.