Did you source terminate the TCK? It might help. On my boards I've been known to use a NC7NZ34 or somesuch to buffer CCLK/TCK with source termination to each individual destinations. In your ribbon cable, did you make every other conductor ground? Works wonders for reducing crosstalk. Make sure you connect all the grounds at both ends of the ribbon cable. Ribbon cable is a great invention. It makes excellent speaker cable, BTW. Fits nicely under the carpet!
Cheers, Syms.