Sorry for the slow reply; I've been on vacation and out of email/network contact.
What is happening here is, I believe, a feature of the InChI algorithm: as part of generating the identifier, a "standard" tautomer is generated. This typically involves moving Hs and charges around.
There isn't, as far I as I know, really any way to avoid this happening as long as you are using InChI.