Yeah, if there is such a thing a s an overlapped console in the future, the ReadFile() code must make a more fine-grained distinction. Unlike before, though, ReadFile() will now know that it is an overlapped console rather than simply an "overlapped" fd. Similar arguments may hold for other IO objects, too.
Thanks for commenting, Martin