Yes, it's been known that changes to the Mode/Color Select registers take effect immediately; making it otherwise would probably have complicated the CGA's design (additional latches?), to no benefit that I can think of. As GloriousCow points out, we relied on that in Area 5150 - at least one effect uses it to get a true split-screen mode, and there are others where it's less obvious (done more for the sake of abusing certain 'improper' bit combinations in 3D8h).
I've considered the idea of a mode 4 <-> 6 split-screen, but in a different context: using composite color, that would increase the number of artifact-color palettes you could exploit using mid-frame (or per-scanline) palette changes. But you could probably find a novel use for it in RGBI color as well... e.g. introducing certain color combinations that mode 4 wouldn't allow by itself (say 0 and 1, or 8 and 9). Would be interesting to see what you come up with!
@GloriousCow: if you manage to find out why instantaneous updates make those black pixels show up, I'd be curious to know. I mean, when you rewrite one of those registers, I expect that there's probably some kind of propagation and setup delay before the change is actually visible on screen, perhaps a handful of character clocks... but we were careful to lay out the frame structure so it allows for some uncertainty - those particular transitions should be seamless even if the updates were truly instantaneous. 😀
[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]