My experience has been that the Arduino libraries do not manage the SPI settings very well. Check to see if your devices have any SPI setting conflicts (mode, bit order, clock div). If so, you might have a library problem. The typical Arduino library sets the SPI settings in the begin() function and then assumes they never change.