Cela ne peut pas être le code qui cause un problème. L'erreur que vous obtenez provient d'une tentative de retour ou de transmission d'une MySqlTransaction vers/depuis le service. Cela ne fonctionnera tout simplement pas.
Aussi, pourquoi diable exposez-vous un objet Command au monde extérieur via une propriété publique ? De plus, il ne semble même pas que vous l'utilisiez... Supprimez cette propriété et gardez votre commande limitée à la méthode qui l'utilise. Si vous ne le faites pas et que vous exécutez ce service en tant que singleton, vous obtiendrez de nombreux bogues fous.
De plus... C'est un service extrêmement dangereux à dénoncer. Si quelqu'un d'autre que vous-même l'utilise, il ne fournit aucune encapsulation. Heck, vous pourriez tout aussi bien ouvrir un port directement sur le serveur SQL, aussi stupide que cela puisse paraître.