As promised, I've implemented correct (as opposed to hacky) subscreen support. This includes fixed colour and subscreen addition and subtraction. One obvious benefit of this is that the sky in Super Mario World is now correct (compare these new screenshots with the previous ones). Also, have a look at the transparent clouds in the Dwarf demo.
Nearly all the docs I found regarding subscreens were absolutely terrible and generally wrong. I have to thank Grog for his doc, which was both clear and correct. I've fixed a bunch of other graphic bugs, and will probably work on either HDMA or sprite support next.