I agree with Mike.
I'm going through a similar situation in my present company. There has been a change in upper management that has had a negative impact on the work environment. The individual brought in is unprofessional, unrealistic, and has no regard (or respect) for those that work for him. The work environment has become almost unbearable... The HR department is failing to protect the employees and, thus, there is no recourse for those that take issue with thier treatment. Standing up for yourself is a surefire way to be 'outsourced'.
If she's unhappy with the conditions, and has no way of rectifying the issues that are causing her distress... she should leave. It's not worth the stress and heartache. She should be proud that she has been a good employee and has worked hard... always doing her best... even in trying situations. She's probably stronger as a result of her unfair treatment and should feel confident that she will be a valuable asset to the next company she works for.