To clear the SPIF you have to read or write the SPIDR not the SPICSR after an access to the SPICSR. I read the SPIDR as it covers both slave and master mode.
Taken from datasheet: Clearing the SPIF bit is performed by the following software sequence: 1. An access to the SPICSR register while the SPIF bit is set 2. A read to the SPIDR register. Hope this helps SJO