Hi Peter,
Thanks for letting me know you got it working. What values did you use for the Mode settings (1 and 2)? I'm wondering if there is something in there which is different to what I had.
At the moment, in a non-working configuration, I am initialising the TLC59116 with:
0b10000000, // Control Register.
0b10000001, // Mode 1.
0b00000000, // Mode 2.
...etc
One difference may be that I am not trying to globally dim the output in 'normal' operation, I am setting a global dimming level once at start-up (or later on a switch press at setup). Luckily this means the glitch which goes along with the change won't affect me. I was also wondering about the read-only bits in the registers, and whether it does actually matter what value it is set to when you write into it...
I haven't had a chance to go through the datasheet again in detail yet, but hopefully in the next day or two.