I believe you are right, and I believe that what is
happening is that an xsub somewhere is assuming that it
has (at the C level) a filehandle, but none is really
there.
Perl's tied filehandles can only trap output coming
through Perl. Not C extensions, the system call, etc.
But file a bug report anyways...
Comment on Re (tilly) 1: Inconsistancy within Net::FTP?