Post evidence for this, and post the receive code, using code tags.
the main focus of this project is having the code on the sender as efficient as possible in terms of energy used.
In that case, there are many major errors in the code that make the radio problem completely insignificant, such as opening the SD log file every time you write some data. All the begin() and open() stuff should be done once only, in setup().
Close the log file only when you are finished writing all data.
Finally, instead of using delay(3000) in each loop, you should be putting the processor, radio and sensors to sleep, and since you send the data elsewhere, eliminate the power hungry SD device.
For some insight into how this is done, see this excellent solar powered remote sensor tutorial: Gammon Forum : Electronics : Microprocessors : Solar powered Arduino