Well, I just Daily WTF'd myself.
In head scratching why a high interrupt rate caused (a) corruption on the LCD and (b) something that looked like stack corruption, I decided to look at the timing diagram for interrupt acknowledge. I had come up with many bizarre (and wrong) theories about the LCD corruption (random characters, things appearing in the wrong place etc). It also all feeds back to my problems with the PIO a while ago.
If you push the "extra ice" button on the soft drink vending machine, you won't get any ice. If you push the "no ice" button, you'll get ice, but no cup.