It appears if you use an SPI rate below 100khz the CC2480 resets. I am guessing a time out is happening.
Here is what happens:
1) Set SPI to 1 khz. (Note: any value below 100 khz seems to cause the issue).
2) Reset the CC2480
3) Host waits for SRDY to go low.
4) CC2480 sets SRDY low
5) Host Sets MRDY and SSEL low.
6) Host Sends Poll command (three zeros).
7) Host waits for SRDY to go HIGH.
8) CC2480 sets SRDY HIGH.
9) Host reads the AREQ message. (SYS_RESET_IND)
10) During the reading of the MINOR_REL value of the SYS_RESET_IND message the CC2480 sets SRDY low again. (I am guessing it reset itself and is notifying about a new SYS_RESET_IND message).
11) Any further commands the CC2480 appears to ignore. Since SRDY went low during the transmission/reception of a byte the host and CC2480 are out of sync concerning the state of the SPI.
As long as the SPI rate is 100 khz or above, everything works great.
I can not find anywhere in the API documentation that mentions a minumum SPI rate. Only a maximum rate of 4 MHZ.