It sounds as if the hiring managers got cold feet and made an emotional or impulsive decision. It's not surprising they could feel bad for treating a candidate that way, for indescribable reasons. It's not as if the justification offered was, "We lost our budget and couldn't go through with our offer" or "We have another much more highly qualified candidate and the organization needs that person." Managers that interact with candidates should be decent enough to anticipate the possibility of not going through with an offer and create sufficient emotional buffering to leave people with their self-respect, or give the candidate more useful clues about how they're really doing. There are many ways hiring managers can increase their skill at this difficult work. I will never forget, I made someone cry in an interview once. You can ask hard questions but we all have to decide if this is the kind of human being we want to be.