It's that new line - Console.Read() reads a single character from the input. Therefore, when you type, the first letter goes to the Console.Read() bit, and the rest goes to the Console.ReadLine(), which is put in the buffer. Therefore, try this instead:
Code:
string buffer = Console.Read().ToString() + Console.ReadLine();