My daughter was a very dedicated employee at Dayton International airport, went to work on her off days just to help out, did whatever her job duties call for her to do ,a very respectful young lady that spent six year in the US Army. Nine months in Iraq. She was fired from the airport because they are told to keep money that they collect from customer in their pocket until the end of the day, instead of having a cash box for them to put the money in as soon as they collect it. She forgot she had the money in her pocket three times and took the money home; therefore they fired her. Although she took the money back each time. She had been working there for one year and that is all they could find to fire her for. She really need her job she have a 4 year old daughter that she is raising. She have bills each month. it's a shame when young people choose to get out and work and not be on public assistant to get fired for something like that. it's hard to find jobs.
I think it's sad that your daughter lost her job at the aiport, she sounded like a very dedicated employee willing to go the extra mile even on her days off. But it is probably best she is no longer there because what you are describing here is that she was probably long past exhaustion each time she accidentally took the money home, although I am certain the airport didn't consider this when they decided to fire her.
On the WHY part of your question: When she first was employed by the airport she probably signed an agreement of "if I mishandle money in any way that isn't in agreement with the airports rules, I understand that is grounds for dismissal" If she agreed to these terms and broke them, is was their call to be understanding or not. They were 2 times before, but when they see a pattern of it, they are less likely to trust their money is safe. They will protect themselves before protecting her.
I agree they shouldn't make it so easy to leave your shift without turning the money in first. Just like with waiters and waitresses, or bartenders that most of the time must carry change on them, if the airport had an end shift report to do before each employee was allowed to leave, then it could all be resolved. I don't know any waiters or waitresses that can leave for the day without giving the company their money first, along with reporting their tipped earnings for the day.
Her honesty in giving the money back is something to be proud of, and she shouldn't hold bad memories against the airport for their decision. She made a mistake, we all do that once in a while. She'll find another job, and she will have this experience to learn from.