Hi,
I might be wrong, but does the spi library rely on interrupts ? If so it will not work inside an interrupt service routine because interrupts are disabled temporarily while an isr runs.
To get around this, just set a flag in the isr which you can test for in loop, when the flag is set, you know it's time to send your data.
Duane b