I came across this blog posting yesterday and figured I'd relay it because all of a sudden it's changed how I transfer large files. While scp(1) doesn't support resuming, but rsync(1) does and in a very Captain Planet-esque fashion, their combined powers allow for secure, resumable file transfers.
By adding the following alias to .profile you can easily switch from the stock-scp to a resumable one:
alias scpresume="rsync --partial --progress --rsh=ssh"
It's then just a matter of using "scpresume" where I would use scp(1):
intellian% scpresume medahugefile.tar.gz remotehost:
This shouldn't incur too much overhead, but it sure makes large transfers much less painfull on a bad home-user uplink.