I have been reviewing the code and I think I had a mistake that could have caused the pixel strip to be updated by a timer1 interrupt while I was writing out the next pixel strip values.
I can not test this until my next race meeting in around 2 months time. I'm not so worried about the slow decay in power if this turns out to be my issue.