First time I have seen a result using 16 bit SPI. Playing with pauses all through the code varied correct data from 9/20 readings to 15/20. When I say correct, they are a tad off, expected 512 actually ranges from 508 to 515.
8 bit initially gave about 2/20 matching expected result. Playing with pauses lifted that to 18/20. And the good results were perfect 512! Second channel not working with the 8 bit though.
The way there is a run of good results then bad has me baffled. It's not related to run time.
Yes, I did have to cycle CS pin between reading the channels.