Don't attempt to hack Robin's recvWithStartEndMarkers(). Follow his examples.
Call recvWithStartEndMarkers() repeatedly till newData is true. Next write it to the file and set newData to false. For just saving the data, you don't have a need to parse the received data. You will need to increase the buffer size (numChars) to something like 64 to be able to receive a full message.
Other things to consider:
Write a timing program to measure how long opening a file, writing some data and closing the file takes. You might want to open the file once and close it on request. In that case throughput will be better but you will still experience a delay once the the data is physically written to the card. Hence this test program.
The 5 ms delay might be at the edge; your data is at least 50 characters long which will take 4.5 ms to transfer.
Don't use Serial.println() in the sender; the "\r\n" that it adds to the message is ignored by the receiver code but slows down your transmission a little (52 bytes minimum message lengh versus 50 bytes minimum message length); use Serial.print() instead.