The char array that the String class wraps, when the String class constructs it, is NULL terminated. If you use the charAt() method to directly set characters, YOU must add the NULL after the last character (or, better, after each character is added). Do not forget it.
Also, what would happen if three characters snuck into the serial buffer while you were not looking. Since there are not exactly two, you would never again read any serial data. It's better to test for 2 or more characters than exactly two characters.
The == test for a match to MyName is failing because MyName is wrapping a NULL terminated array of chars, and what you are comparing it to is NOT a NULL terminated array of chars.