I've not had a detailed look at the code, but it seems the multipliers are:
(snip)
The current difficulties as an inverse proportion of SHA are roughly:
(snip)
Doesn't that mean that an SHA block can still eat several non-SHA blocks?
Yes, those are the current multipliers. They attempt to bring the difficulties closer to the same order of magnitude as SHA. So SHA still has an advantage, but the advantage is several orders of magnitude less than previously.
One of the proposed solutions was to dynamically alter the factors. This is something that will be considered for the future.
Oh. Then I don't see a huge improvement, in practical terms, to how it was before the patch? Using current figures, an SHA block could still eat upto 18 Scrypt blocks, and it's very unlikely that the network would go 18 blocks in a row without an SHA block anyway. The 4+ block reorganisation that I saw previously (which wasn't even a malicious event) would still occur after the patch is applied.
For calculating total chain work, is considering the SHA difficulty at the time of the block (even for non-SHA protocols) a sensible option? I'm sure that brings with it a whole bunch of new issues though.