Is a protocol such as zmodem still considered a good way of sending a file?

As in you need to copy a file to a remote location over serial (or perhaps something else). I'm specifically thinking of how you would copy an Arduino bin file across a slow unreliable link to a remote Arduino that will be used as programmer for a target Arduino.

I know zmodem is old. Has it been replaced by something better, or is still the basis of what people use today?

It was replaced by TCP/IP over Ethernet. File transfer via serial just isn't done much any more. So Zmodem is probably still state-of-the-art. Do you have internet connectivity? Use the internet to transfer your files.

Are you running wires? Wireless? Using the public telephone system? Internet?

johnwasser:
Are you running wires? Wireless? Using the public telephone system? Internet?

Probably wireless with a high packet loss. Probably Xbee. Not Wifi or TCPIP.

Xbee can be run in one of two modes, packet based with a 100 byte max payload or transparent mode (pretending to be a 2400 bps wire) . In transparent mode I'm guessing that it packetizes and transmits whatever bytes it sees in its Tx buffer as fast as the 802.15.4 protocol allows. At the receiving end data arrives with a high and variable latency.

During periods of high packet loss the data flow almost grinds to a halt due to the Xbee retry/delay/retry mechanism. There is no guaranteed message delivery so sometimes nothing will arrive at the destination.