I also disagree small children definitely know a hundred is A LOT. I worked at a cashier at a computer store over the holidays and a lot of parents would give their little kids and they’d count it out and the kid’s eyes would get wide when they hit one hundred dollars.
Then they’d give it to the kid, and tell him/her to give it to me, who would always say something like, “Wow, I never had this much money in my whole life.” They may not know the total concept, but they all understood the magic “hundred” mark.
In the OP case, the kid probably just grabbed the purse and took the wad of dough out, regardless of the amount. To me, the amount shows he isn’t aware of ramifications of his actions.
Obviously everyone is gonna miss a $300, but if he had taken $20 or $30 it might not be missed, the owner thinking, “Oh I lost a bill.”
The bottom line is you don’t know what the kid was thinking and when you get to the bottom of things like this, as I said, it’s important to get a neutral party, one not associated with the schools or the parent.
If cost is an issue, look on your county (if in the USA) website and find the health department. They often have referrals to low cost or sliding fee scales. Get a therapist the kid likes.
The thing is the mother is suffering, the school is suffering and the kid is suffering and everyone is upset and more interested in labels and blame. It doesn’t matter, look if the kid broke his arm, you take him to the hospital and get him fixed THEN you find out what’s went wrong and allowed him to break his arm. Then you start behaviour therapy to see to it he doesn’t do the stupid thing that caused him to break it.
It’s sad but the way of life is, outside of some sympathy, no one really cares about your problem, whether it’s a child or an adult or anyone else. So it’s up to the OP to DO something about it. Often it’s just a matter of not knowing where to start.