@vTorrent: as a fellow programmer, I see three approaches to fix this (sure there might be more):
1. A hard one - debug the code, reproduce the problem (probably ask some of the guys having this issue, to send you the wallet.dat and other necessary data to reproduce the issue).
2. Easy one - remove the wallet encryption capability from the wallet for some time, until xCash developer finds the issue
3. Workaroud - replace that part of code by a code got from other wallet (not xCash), which doesn't have such issue. The issue will disappear together with the problematic code.
These are just my 2 cents . I'm pretty sure you will find the problem, as I think you are a high-class developer, the question is just hhow much effort and hassle it will cause to you.
To be honest. I prefer option number 2. But it´s not up to us.
i have sent him my wallet.dat