Isn't it possible that the users have some link checking software which checks the link and makes it invalid? The link is valid to be used only once. Certain types of web filtering software may interfere with password reset links. If an automatic tool accesses the password reset page before it is opened by the actual user's client, the password recovery request will be invalid.