Hey I saw some programmer bashing in here and as a veteran of the code production art, I felt I had to chime in.
First, re: good programmer/bad programmer: this decision really can't be made by non-programmers (okay QA gets a say). Programmer quality can be boiled down to a metric we call "velocity," which is the number of high quality features the programmer delivers in a set period. But lots of external forces affect software quality -- a programmer asked to produce contradictory features might do so flawlessly and still have a clunky system because "integration" wasn't considered.
A programmer of any skill level asked to condense his time frame, to meet an arbitrary deadline say, has but two options: reduce feature set or reduce quality. (The implied third option of "work more hours" is just another way to sacrifice quality, as tired programmers make monumental amounts of mistakes). In the case of mode stacking, for example, the choice was likely between releasing an accessible ruleset that experts would find confusing due to overlapping events or shelving that part of the ruleset while improved event handling was developed. There is no third option, save pushing the date.
Second, do realize that it takes about ten years for a programmer's skill to plateau. The first four or five years on the job should see nearly exponential increases in velocity every year. So to write a guy off early in his career is a mistake. Most of the great programmers I work with started off a bit crap. I started off terrible, lazy and ignorant.
Third, Lyman's games may be immortal, but his career is not. Software knowledge is hard to pass on because so much of it is literally encoded, tens of thousands of essential details obscured by a similar number of arbitrary choices. Probably the best thing for Stern and the industry at large would be for Lyman to not program anything himself, but instead take on an architectural role, helping to craft rule sets but leaving the coding to others. Having him swoop in to "fix" somebody else's work may result in one good game release, but nothing for the future. Just a promising young designer with hurt feelings and no lesson in balance.
Finally, all good programmers are stubborn. It takes a lot of confidence to have an idea and commit to put in front of a global audience. Great programmers learn how to put aside the stubbornness that drove them on one idea to compare it, objectively, to another's idea. Great programmers learn when to accept a compromise, and when to reject the criticism to follow a deeper vision.
Incidentally TSPP, which may be the ultimate mode stacking game and programmed by Keith Johnson, has terrible event handling for stacked modes. You have no idea what's going on and just have to hit shots until they start flashing and if a multiball is active you're shit out of luck. Of course, it's much harder to get those modes started than x-men...