Thanks.
I think this qualifies as a pine bug. Removing a named pipe will not by itself send an EOF to any processes that are listening on it. The right way for pine to shut down the connection would be to open the fifo, remove the disk file, then send a final EOF by closing the descriptor. Anything else is a race condition with the listening process, which may re-open the fifo for reading before pine has removed it.