digitalWrite (LATCH, LOW); SPI.transfer (c); digitalWrite (LATCH, HIGH);
Data is strobed out on the rising edge of latch. So for it to have been correctly implemented, you need to pull it up to avoid spurious strobing.
Also strobing should not be part of your spi routines as it needs to be done by user program for cases where multiple bytes are to be transmitted in one frame.
Pin 12 (which I label SS) is the ST_CP pin on the chip (storage register clock input). The wiring diagrams show it is normally low and active on the rising edge. Thus I wanted it to start low and then be brought high when data was present, eg.