SPI in loop() working fine, but not in ISR TIMER 1 interrupt

sei() in the ISR will do nothing if the interrupts don't run, try calling the SPI.detachInterrupt();
This might not do anything as SPI defaults with ISR off.
Also do you call SPI.begin();