Do you have a pullup on the SD CS pin? If not, then, at least, you need to initialize the SD CS pin to HIGH AND OUTPUT, even if the SD begin code is not called. And if SD begin code is called, then you need to ensure that you UNSELECT the SD card before radio.initialize(). Also, setting SS pin to OUTPUT is not enough, you should set it HIGH and probably call SPI.begin() prior to calling SD.begin.
In my experience, getting the two to work peacefully together isn't trivial. In the worst case, I've had to make all SD card accesses atomic (no other SPI transactions within a file open, seek, read/write, file close cycle).