Ok, now it seems I have somewhat success with the inclusion of the 10K resistor ronsimpson suggested. It seems that powering the devices up are ok, but when I try to get the device identification, it only returns general status, instead of the actual identification.
Since I used alot of nops I thought they would help but they don't. The clock for the micro is 3.6Mhz which means fastest serial speed is 307Kbps but I'm going manual so speed is more like 56Kbps at best but more like 19Kbps
Now the SS line switches at different speeds. At the beginning of an SPI transaction, I invert the SS line once or twice in a 6 to 9 microsecond period to ensure the chip is ready. Then I load command and read status then invert SS again to end the transaction.
I'm assuming my transistor circuit setup with the 10K in is acceptable for a 0.1Mhz operation of the SS line. It won't go faster than 1Mhz (If by chance I write miracle code to make it switch that fast). By acceptable, I mean where no noise affects the signal and all that. Also my PCB traces are at least 12 mils wide with 12+mils clearance.
Anyone got any ideas other than me redesign the circuit to use another I/O line?
For now I'm gonna double-switch the SS line to see if that works.