Are you sure another program is not reading the pipe? The named pipe files are sometimes treated as regular files by some (flawed) programs, for example backups. One way around that is to use /tmp, which doesn't generally get backed-up, although that can then create problems with an automatic tidy script!
Another thought, does appending a "\n" help? (It shouldn't, since you have buffering turned off, but is there any NFS software involved?)
Comment on Re: IPC via named pipes, losing some messages
Nothing else is reading the pipe. No backups are running.
I haven't tried the \n, but will do in a bit as I'm clutchig at straws :) No nfs is involved. (The grandparent directory is exported, fwiw)