Did Charlotte really have Multiple Personality Disorder? (SPOILERS)
OK here is a theory. Charlotte didn't have multiple personality disorders and had previously had an engagement with Edmund prior to him ending up at the hospital. She checked herself into the hospital with this illness, to get Edmund out.
When Hanover tried the hypnotherapy on Bucket, it didn't work at all. He made very little adjustment other than changing some colours to the spinning wheel and it suddenly worked perfect on Charlotte, and she was practically cured so quickly?
That was, until the ball dance where Edmund made his escape with the other young nurse. Suddenly Charlotte is all crazy again, to provide extra chaos and distraction to ensure their getaway.
Charlotte was then supposed to come and get Edmund back from the nurse. But the plan went wrong as they were tracked by the police. Edmund was recaptured and the young nurse got herself killed.
She was then further out of options when Hanover was fired from the hospital and took her with him to continue to her treatment. He was going to take her to Canada away from Edmund and the plans to free him. So she had no option but to kill him and continue her façade that she was mentally ill. Mildred felt sympathy for her and gave her money to get out of the town.
Except she didn't. She bided her time and hatched a plan with Louise (the hotel owner) to get a job at the hospital and act as a spy. (no doubt paying her with the money Mildred gave her). That's why Charlotte knew where the gun was in Hanovers (now Buckets) office, and who was working that day etc as well as all the other details of the plan.
Edmund was in on it and knew, which is why he wasn't particularly surprised when Charlotte arrived with Bucket as hostage to break him out. Edmund even headed out first to Charlottes car and jumped straight into the drivers seat like it was planned and they made their get away.
Even years later, Charlotte is still with Edmund. They are now once again an item.
If Charlotte was ill, and switching personalities. She'd have become a liability for Edmund who is now a fugitive on the large. As at any point Charlotte could have switched to a personality that was not in support of Edmund. Or turned into the crazy girl who thought everyone was Nazis and even attacked Edmund. But no. Years later they're still with them. Its even mentioned that Louise (the hotel owner) had ratted out Mildred's location, clearly from Bucket when she went to Mexico on vacation. Further adding weight to the idea that she was on the side of Edmund and Charlotte before Edmund was broken out of the hospital.