LOOP ADC ($FF,X) INX BNE LOOP
The 1 cycle difference between new/old cia is only in the latency for an interrupt to occur. If the cia isn't used to trigger the interrupt you don't need to consider it. I seem to remember that the timer B underrun behaves differently with regards to the read timer values but can't really find the reference now.
If your guess is right, the color will always be changed in the same screen position (neglecting the 7-cycle jitter). When adjusting the timer, remember that the timers on the 6522 VIA require 2 cycles for re-loading, and the ones on the 6526 CIA need one extra cycle. Keep trying different timer values until you the screen color changes at one fixed position.