s_SPIBus currently does not close the device after writing the buffer to the device. While I fully understand the performance reasons for this, the problem is that if you write a substantial size buffer the buffer is not flushed to the device until you close the device.
For example, I am currently writing a 64x64 bitmap to the Display N18 and the rendering stops short at around 80% of the image, if I uncomment the following in s_SPIBus.cpp line 90
Then the bitmap rendering works fine, of course the pixel by pixel type things like drawing a circle etc. is much slower after that change since the buffer is closed after every pixel write and therefore needs to be opened again for each pixel.
This is also why the screen does not clear completely, there is always a few lines of garbage pixels at the bottom of the screen after a power-up. The FillRect does not completely fill the screen because the device is not closed.