many thanks for the comments, a lot of which went over my head

After I posted I re-read the data sheet again and noted that you can define the "start" position and the "end" position of each post. I therefore tried the following, which again didn't work
I2CWRITE SDApin,SCLpin,i2cWriteAddress,i2cControl,[0,0,1,pcaPwmValue >> 8]

I've also tried the highbyte / lowbyte option, but again that didn't work, with the values jumping up in tens *ie 4050, 4060, after it passed 255.

there is an auto increment option, but I'm not sure if this runs but default or needs setting using a register.