Playing devil's advocate: Firing people has a huge financial impact - around $100,000 per person per year. The event only cost $50,000 once. So it might not be that significant, and at least the staff gets to enjoy a nice event. Why eliminate both when the event's cost is equivalent to just half a position?
This one's easy. Because you value your people more than the parties they can throw. The cost/benefit are not just monetary. If they were, the event would have no reason to happen under any circumstance.
You fire someone because they are hurting the company? That feels like a company that cares about doing well. Event seems more okay, and there's no reason to question the financial cost if the org seems to be doing well. You layoff someone off because you're tight on cash? Tell everyone you only hire top performers but had to let a top performer go because of budgetary reasons? Feels gross to throw more money away when you're already making "hard" decisions about letting quality people go.
I think it has more to do with the psychological effect than with money itself.
We're used to think that in difficult situations you cut the useless "fun" expenses.
When that doesn't happen in a company, people blame it on management that already "moved on".
It has to do with how people perceive a company and with all that culture that has been pushed down our throats for years, with "We're a family" and things like that. It has also to do somehow with showing some respect...
Mismanagement of funds is one of the worst things. Is it pure incompetence?
Or is that they don't give a damn and that "let's get together 500+ people for a fully paid weekend" is too cool to cancel?
...like better an egg today than a hen tomorrow. I mean, they don't get affected anyways, they do get the egg and hen...!