Passing char arrays to a function - best practice

please try to adjust your sendmsg function like this, i believe it should work.

void SendMsg(char * myMsg)    // << points to your array and that should be enough, a basic c++ method
{
  char MsgAndTime[strlen(myMsg) + 10];  
  strcpy(MsgAndTime, myMsg);  
  strcat(MsgAndTime, " 1:00 PM");
  Serial.println(MsgAndTime);
}

notice only the main calling method is changed the way you would if calling for an array function variable.
if it doesnt work then arduino isnt c++ compliant but i dont doubt it wouldnt work like this.