The first suggestion, thank you for including the code, allowed the SD card to initialize but the data returned from the 3SS device was mangled.
Here is a picture of the newly received data:

Here is a picture of what the correct data should look like:
3SS device:I took the original code and added the following two lines, the first below the include for SPI and the second inside the setup() as suggested.
#include <SD.h>
SD.begin();
The data received was also corrupted/mangled when these two lines were added. I commented out these lines, and the program went back to working correctly.
I did this test a second time, on a more relevant program for our SPI device (i.e. data), and the program would freeze as it got to "wait for command to process" stage. The 3SS needs to process a sent command, and that can take a few clock cycles, so there is a simple while loop that waits for a return value of 0x01 or "READY". This is where it fails. The SPI.transfer(start byte) and SPI.transfer(command) work just fine before this freeze.
NOTE - This is where I started looking into SPI Data Mode, and if there was any conflict between the SPI and SD. Eventually I gave up, since the code for the SD library has no actual mention of SPI library or its functions. Does anyone know why the SD library has no mention of the SPI library? (SD uses SPI to communicate with the SD-card, somehow).
SD-card device:Again, I took this original code (examples>SD>Files) and added the following two lines, the first below the include for the SD and the second inside the setup() as suggested.
#include <SPI.h>
SPI.begin();
Surprisingly, these two lines of code did not affect the successful operation of the program (with SD library functions). I tried placing the SPI.begin() line in different points in the setup, but it would still work.
I realize this might be not descriptive enough in some areas, so let me know what does not make sense. As always, communication is critical in this environment.
Thank you again.