normal, ton cast ne modifie en rien la comparaison qui est faite.
Que tu castes ta chaine en char, en canard ou en poule, elle sera ensuite castée en int pour la comparer avec id qui est un int.
Il faudrait plutot caster le contenu de id, ou passer par une fonction de comparaison de chaines de caractères entre id et ta chaine 1qs, pour obtenir le comportement que tu souhaites.