Hi,
If you look at the block diagram of the SPI module, you'll notice the Data Register and the Shifter.
When the master clocks, the data in the Shifter is sent out.
Immediately after the Shifter becomes empty, data in the Data Register is moved into the Shifter.
The the Data Register is then filled with the frame received from the master.
By the time you write into the Data Register, the shifter was already loaded and this is why you see two frames 0x0000.
Remember that the Data Register Empty bit (SPTEF in the SPISR register) tells you when the SPI is ready to be loaded with data for tranmission.
If you poll or use an interrupt from this bit, you'll notice that it will allow you to write twice into the Data Register even before the master starts clocking. You would be, in esence, preparing the slave so the buffers are loaded with the data to transmit when the master starts clocking.
During normal operation, SPIF on SPISR (data available in Data Register) becomes asserted once the frame has been transmitted/received. After you read the register, then SPTEF becomes asserted, indicating that now you can load the data to transmit in the frame after the next.
If you use interrupts, remember that there is a single source for SPTEF and SPIF.
I hope this helps