Why does this code for an ADC only return 4095 or 0
Did you connect REF- and REF+ ? The ADC needs that, it has no internal ref. I didn't check that teh SPI specs are compatible with the 2543 yet.
You could also start with a download of only 8 bytes. The rest is noise anyway.