Salut,
Utiliser la méthode de changement de mot de passe pour tester la validité des informations d'authentification fournies me semble dangereux.
D'ailleurs tu changes le mot de passe, pour le même, mais tu fais l'action de le changer, ce qui peut avoir un impact sur la gestion de péremption du mot de passe et autres les règles en vigueur sur la gestion des comptes
A mon avis tu ferais mieux de creuser la raison pour laquelle LogonUser/LogonUserEx ne fonctionnait pas, ce qui en plus devrait te permettre de tester le logon dans le contexte final, c'est à dire pour lancer un service.
/*
coq
MVP Visual C#
CoqBlog*/