Making two Arduinos talk over SPI
I took a quick look at the Arduino SPI library and couldn't find the attachInterrupt() function.  I assume that you're using an extended library of some sort and I'll make the assumption that it works although I would like to see how it's implemented underneath.

A couple things that I saw:


This compiles? if (pos &lt; sizeof buf) - it probably needs to be if (pos &lt; sizeof(buf))
In the sample code on the forum, he has a key line right here that you're missing in your slave code:

// turn on interrupts
SPCR |= _BV(SPIE);



Without this your receive interrupt probably won't fire.  I also don't see where global interrupts are being enabled although I have no idea if Arduino takes care of that for you under the hood.  I also haven't bothered to look up what any of those registers mean, I'm trying my best to go by memory of AVR's SPI registers.