This can make things more interesting... I can loop within another subroutine containing DoEvents() to keep the GUI alive... It could do that while waiting for something to come over the pipe?
I just happened to see the command in the docs just now... I'm not quite sure HOW to do what I just tried to describe though.