Arduino: Hardware SPI hangs, bit-bang does not
According to ATmega32u4 datasheet, section 17.2.1 (SPI / SS Pin Functionality / Master Mode:


  If SS is configured as an input, it must be held high to ensure Master SPI operation.


In your circuit, SS pin (#8 on package), also labeled as "(SS/PCINT0) PB0", is left unconnected. 

Is it possible that PB0 is also configured as input somewhere in your program or libraries? In this case, it should be connected to Vcc.