char* sendmsg; //message string to send to PC
No, it is not. It is a pointer that might someday be used to point to a block of memory where there is some character data.
sendmsg = ?????? //some code here to make the string up
Make the string from what?
mystring = "{" + mystring + "}" + '0'
You can't do that.
If you make sendmsg an array, instead of a pointer, and you use the sprintf() function to populate the array, it will already be NULL terminated. You can have the sprintf() function add the leading and trailing delimiters, or you can use three Serial.print() statements to send the {, the message, and the }.