Move code that can only matter in the first loop iteration out of the loop.
Increase size of test io-29.34 so that it more portably tests the case where
the OS networking machinery gets backed up and blocks.
Added several TODO comments on potential simplifications.
Expand the IsBufferFull() macro to check non-NULL bufPtr..
Further simplifications to FlushChannel().  This makes clear the
BUFFER_READY flag serves no necessary purpose, so it is removed.
Update comment to explain assumptions.
Refinements of FlushChannel() and its callers.  Notably includes removal
of the flag BUFFER_READY.