Wbrew temu co niektórzy piszą, Microsoft częściej niż rzadziej miał na uwadze wsteczną kompatybilność. Problem, o którym piszesz wynika właśnie z tego, że nawet Windows 8 w tej kwestii nadal zachowuje się jak DOS ;).
Microsoft chciał ułatwić kiedyś programistom dostęp do niektórych urządzeń / sterowników i umożliwić czytanie z nich i pisanie do nich za pomocą standardowych funkcji IO. Nie wymyślili wtedy niestety żadnej specjalnej składni dla takich ścieżek i stąd powstało ograniczenie w postaci kilkunastu zabronionych nazw plików i katalogów (o nazwach tych urządzeń właśnie).
W późniejszych wersjach Windowsa pojawiła się potrzeba wprowadzenia jeszcze większej ilości urządzeń dostępnych w ten sposób i wtedy wymyślono coś takiego jak przestrzenie nazw w tych ścieżkach. Od teraz dostęp do urządzeń odbywał się w innej przestrzeni nazw niż w domyślnej przestrzeni nazw plików. Ale żeby nie psuć działania starszych aplikacji, te kilkanaście nazw w przestrzeni plików działają nadal w stary sposób.
Nie jest to ograniczenie samego systemu plików, więc w teorii da się stworzyć plik o takiej nazwie, ale z racji tego, że mała ilość programów obsługuje niedomyślne przestrzenie nazw w ścieżkach nie polecam tego rozwiązania.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx