Some more investigation reveals that the problem does not exist with Perl version 5.8.8, but does exist with 5.10.0
Does that help any?
I'm trying the ioctl TIOCOUTQ method to see how full the buffers get, but i don't seem to have ioctl.ph for 5.10.0.