What are your CTC timer values, and I'll try and reproduce...Edit: Never mind... I see why. Though it's not a simple fix, so it'll have to wait I'm afraid....
Ok, I'll move onto something else not CTC related.
But, is this DMA problem likely to cause issues elsewhere that I should be aware of, or is it limited to CTC?
I've no idea. From what I can tell, it's just the timers due to the way DMA clocks up used TStates. I have change the DMA a little to be more accurate, though it'll never be perfect - but that might help.