Arduino Uno has only one SPI master, I am using two slaves, can be because of this the device is lossing one byte?
The SPI bus is made to act exactly like that. No, the device is not loosing a byte.
The UNO doesn't have much memory and the SD library is using more than half of it.
Try inserting the F() macro to all print statements with string constants:
dataFile.print("RTD Fault, register: ");
gets
dataFile.print(F("RTD Fault, register: "));
Does that help?