Write string to SD card and send string via xbee

    String string_RFID_tag = Serial1.readStringUntil('$0d');

What the heck is this supposed to be doing? Which ONE key did you press to get the ONE character in the single quotes? Why are you stuffing the char pointer that is returned into a String? Did you get the 2 terrabyte version of the Arduino?

      string_RFID_tag.toCharArray(array_RFID_tag, string_RFID_tag.length());

This is crap. The 2nd argument to toCharArray() is the size of the array being written to. The method KNOWS how much data is in the instance that it is called for. It REALLY doesn't need you to tell it that.