I had this exact same problem two weeks ago. Never got i to work as it should. I did find a work around, though. Instead of this line:
[code]
user.Invoke("ChangePassword", New Object() {oldPassword, newPassword})
[\code]
I used this:
[code]
user.Invoke("SetPassword", New Object() {newPassword})...