Since what it currently happening is the code is reading the new record, printing it and then immediately exiting the loop, I inserted an eof() before trying to read the pipe from the pipe and did verify eof() is returning a 1. So I put in some code to call eof() before trying to read and if it returns 1 to simply do a read I know will fail and then follow it with next to stay in the inner loop.

Seems to work just fine but it doesn't make me happy. Perhaps this might offer a clue to someone else who does know what's going on?