Let's see if I can help. I'm thinking in your shoes, I'd look to see if the remote system has the "tar" and "base64" or "uuencode" programs installed.
If so, I'd start a fresh terminal on my workstation, start "typescript" or "script" in it - not screen for this - and then connect that to the remote server over serial. Now you are recording to a file everything you type and see on your terminal - including any output from commands you run over there. :-)
So, do like this:
start a new shell and run
a new prompt appears! Yay! Now typescript is recording everything you type in that shell and everything output for you to see. Now start your connection to that remote server and on that server :
tar -c the_file_you_want_to_xfr | base64
That's going to cause a huge, vast flood of non-sense on your screen. Do not interrupt it, don't panic! That, my friend, is your file transfer screaming across.
The tar program is making a high-fidelity archive copy of the file you want with all it's meta data and passing it through a pipe to the base64 program which is representing those data as hexidecimal numbers. Your typescript program is recording it on your local computer.
When the giant flood is done. Exit from the remote computer and then exit from screen and finally exit from typescript.
Then you edit the captured file, thebigcapture.txt, and remove from it everything above and below the base64 encoded output. Make sure you keep all the characters on the last line, which will probably be shorter than all the others.
Then you run:
base64 --decode < thebigcapture.txt > thatfile.tar
Finally, to see what you got from the other side, run:
tar tvf thatfile.tar
If you see errors from either base64 or tar about invalid input or corruption, just try again. You probably left out some of the base64 encoded data.
Once you are happy with what you have, you can gzip thatfile.tar and e-mail it to your correspondents.
Good luck! I hope you'll post your results here - I'm eager to hear how it goes!