I went hunting through the MSDN and couldn't find any express limits on the number of pipes.
I too find it odd that such a magic number would occur. According to MSDN, the low level 'C' I/O routines can handle 2048 open files, and the upper level 'stdio' stuff 512.
Pipes are implemented in memory, and not as temporary disk files. I don't know what exact conditions will cause a block-on-write. NT may spill to the swap file (W98 will probably just BSODs on you...)
What disturbs me is that other files are already open, such as stdin, stdout, and stderr. I wouldn't be surprised that you might hit a process limit (such as W98 supports processes, totally unlike NT), but the number of files already open should only allow you to open 60 or 61 pipes. Which leads me to believe there's something else going on I can't find.
Sorry I couldn't locate any more detail. You could try some selective searches at
msdn.microsoft.com. Oh, and it might be worth checking the source out, to see if it's some sort of artificial limit of being a Windows port of Perl.
--Chris