Hi Patrick,
Let me explain you what was happening.
When the users were trying to change their password; the faulty code was changing the Password Change Date( Usr02 ) to the current date & that too before changing the password value.
Now after looking at this new date it was assuming,
1) already the user has changed the password today & login/password_change_waittime=1
so was giving," You are not allowed to change the password. ". Frankly speaking, this is somewhat misleading message.
2) the password is valid, not expired( new Password Change Date-today's date ).
Hope, this helps.
Thanks & Regards,
Sachhidanand