The second argument to toCharArray() is NOT the length of the String. The instance that you are calling toCharArray() on already knows THAT. RTFM!
Clearly, you haven't RTFM yet.
You are telling the the toCharArray() method that your array can hold 14 characters, when the String is 14 characters long. Since the array can only hold 14 characters, and one of them needs to be the NULL terminator, there is only room for the first 12 characters from the String. So, of course you lose the last one.
If you had read the stupid manual, you would KNOW that the second argument is supposed to be the size of the array, NOT the number of characters in the String.