Здравствуйте, _Morpheus_, Вы писали:
_M_>А Abort не работает по совсем другой причине — Abort не может прервать выполнение unmanaged вызова, сделанного гдето внутрях фреймворка, в данном случае скорее всего проиходит блокирующий вызов ReadFile, поэтому Abort прервать его не может
Почти угадали.

Происходит ConnectNamedPipe. Но сделать его неблокирующим — сил нет: все эти NativeOverlapped почти что недокументированы

(в MSDN ни одного внятного примера не нашел)