Just guessing here Ronald. Depending on when your application was originally created, your user accounts may be defined in the Administration module, with an object of Account that is a specialization of the System/User object.
If your application is more recent, it may be defined in LicensePoolManager/Account which is also a specialization of System/User. If it is older you may have your user accounts defined in some other object that derives from the User object.
Could the difference that you are seeing be because one of these accounts was created directly in the System/User object (from the Administration...Users menu, while the other was created through the Administration/Account object. In the first case there would be no entry in the Administration/Account object (just a record in User), while in the second case the entry would exist in both the User and Account objects.
Your change password form may be using the Administration/Account object as the data source, in which case if would not work for one user, but would for the other.
HTH