Theoretically, across the board decreases. Given the profit sharing though, I think by the time he did that, it would be pretty evident that there was a major hardship to be distributed amongst the staff.
Software is far more a group activity than building widgets. With an assembly line you can slow others down but it's hard to boost the groups productivity so if you are competent enough to keep your job you are worth X. With software each individual can have a large positive or negative impact on everyone's performance while still being individually productive. Do you write reusable code or break the build?
As a software developer it's easy to think a million dollar cash flow is the result of a good idea and some code. But a tester to discovers nasty bug could prevent a million dollar problem from showing up. My point is when a small team that's working together on a measurable task you can reward the team but it's easy to overlook the tester or junior developer that was vital to the teams success.
As to your example the reason it seemed so obvious that one employee had a million dollar idea was how little effort it took to get there. However, his idea would not have made as much money if his boss had not decided to up the cost of advertising. And if the traffic was not there to create the market etc. So while the idea might have generated a million in revenue he was far from the only person involved.
Once a year, my management team sits down, reviews every employee's work, and recalculates every employee's level.
There's your incentive, besides profit sharing, to buckle down and work hard. Besides, if Joel & co. have an eye on market wages through use of glassdoor, they're not going to get very far out of line in the course of a single year.
 This works at the size Fog Creek is now, but somewhere around 100-120 employees it breaks, because you nobody has a good feel for how individual productivity feeds into company productivity, and it turns into politics.