That is not it. The ethernet and SD libraries use the same type code. Both use something like this to transfer:
digitalWrite(SS,LOW);
SPI.transfer(0x00);
SPI.transfer(0x00);
digitalWrite(SS,HIGH);
Both leave the slave select HIGH (disabled).
It is adding the OneWire.h file that causes the crash, correct?