I wonder if there's a way to turn the attributes (background and foreground color) into 8x1 cells.
Since the card only has 16,384 bytes of memory, you can only get 102 rows this way. With a 4x2 cell, you can fill in the whole 200 rows of the display (still 100 rows, but each row is doubled.)
The CGA always runs at 60 hz, and strangely enough, does not send out an interlaced signal, so it really does run at a true "200p" resolutionm, 60 hertz non-interlaced. Don't be confused by the fact the CGA's graphics layout is arranged in an interlaced fashion - it does that because the CRTC can't address more than 128 rows, so with the row height set to 1 scanline, the CRTC is "recycled" for the second pass.