Après quelques essais infructueux voici où j'en suis:

J'ai remplacé les conditions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if ((int)response.StatusCode == 202)
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
else if((int)response.StatusCode == 200)
par

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if (response.StatusCode == HttpStatusCode.Accepted)
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
else if(response.StatusCode == HttpStatusCode.OK)
en me disant que le fait de forcer une comparaison avec le code en int posait peut être un soucis, mais le résultat est le même.
Pourtant j'ai fait des essais via des sites qui permettent d'afficher le code réponse http et à chaque fois j'ai bien d'abord une réponse 202 (accepted), puis une réponse 200(ok)...
Pour ce qui est de la tentative avec un nom d'utilisateur erroné, la requête renvoi bien une réponse 200(ok) mais la page affiche un message d'erreur, il y a donc moyen de filtrer ensuite en fonction du contenu je pense.

Dans le pire des cas, au lieu de filtrer en fonction du code réponse 202 / 200 ,je dois pouvoir lire la page et relancer la requête tant qu'elle affiche le message de mise en attente, mais ça ne m'a pas l'air très propre comme solution. des idées?

EDIT: l'intitulé de la discussion n'est plus tellement approprié, il y a un moyen de le changer?