i was originally going to use SetPalRGB and UpdatePalette, but as i am terrible with timers i decided my way was easier, each colour is only repeated 3 times, but there are 8 of them, luckily the game itself only uses 16 colours, but if i wanted to use more then a way to control CyclePalette speed would be really great as i can see myself using this feature more often for simple animation, i'm using it to animate painted white lines on a road which would otherwise be a 7 frame animation which would be doable as an animated object as the animation doesn't really take up much space on the background and only add another 20k to the file size, but i want to play around with using it to animate on a larger scale some day (such as water/waves like in older games).
i'll experiment with your code a little later on, maybe a module could be developed to save CJ adding a feature very few people would use...