I bought a CGA card for my XT, but it stopped working after a few weeks. These things are quite fixable - computers weren't made with surface mount technology back then, and most of the chips on the CGA card in particular are standard 74 series logic chips which are still made (the exceptions being RAM, character ROM and 6845 CRTC).
I knew the fault wasn't the RAM (since I had seen it happen - the picture flickered in and out for a moment before disappearing completely, meaning that the RAM contents were still intact while it was "out") and I knew it wasn't the CRTC because the sync pulses and cursor were still being generated. That left the character ROM and surrounding circuitry.
The problem was that I didn't (and don't) have an oscilloscope to debug it with. I knew what the signals on each pin were supposed to look like (more or less) - I just needed some way to visualize 1MHz+ signals. Well, the ideal device was right there - the TV. It's actually even more ideal than an oscilloscope since (given the horizontal and vertical sync pulses from the CGA card) it would display signals in their corresponding places on the screen.
Unfortunately, it wasn't the shift register at all, but using the same technique I did track down and fix the problem, a broken NOR gate which was masking off the character clock pulse sent to the shift register. Luckily I had a replacement for that one too. It's a 74HC part which (I've since learned) is not supposed to be electrically compatible with the 74LS chips used in the CGA (the voltage thresholds are different) but it seems to be working anyway.