A user having problems made me realize there's a minor bug with Net::SCP::Expect that needs fixing. He also mentioned that large files (over 1mb) were not copying completely.
Using logfiles out of /var/log, I notice fairly quickly that he's right. Then, I try it just using Expect straight up (and not my module) - same problem.
Something about very large files seems to cause some sort of EOF issue with Expect. I've emailed the author. Hopefully, it's nothing serious.