This is an issue in the Win32 API implementation, not in Visual Studio or .NET framework, but there appeared to be no more appropriate place to submit it. It appears to be a long-standing bug that was present in Windows XP and is still present in Windows 7.
The documentation for WriteConsoleW (http://msdn.microsoft.com/en-us/library/ms687401%28v=vs.85%29) claims that up to 65536 bytes can be written -- presumably that means 32767 UTF-16 characters + NUL. The actual limit is smaller -- it varies between machines, but typically is between 26000 and 32000 characters. Attempting to write more than this in a single call to WriteConsoleW will fail; see for example http://firstname.lastname@example.org/msg00661.html and http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1232 . It's not clear whether this also applies to WriteConsoleA.