Ok, well there's no problem with the network. I took Madwand1's suggestion and downloaded xxcopy. I used it to move a 2.6 gigabyte file from my Windows XP system to a Samba share on the Debian machine. Here's the output:
D:\MS installs\en_windows_vista_x86_dvd_X12-34293.iso 2,678,614,016
-------------------------------------------------------------------------------
Directories processed = 1
Total data in bytes = 2,678,614,016
Elapsed time in sec. = 76.23
Action speed (MB/min) = 2,108
Files copied = 1
Exit code = 0 (No error, Successful operation)
I can't quite make sense of their "Action speed" number. Obviously that doesn't mean 2,108 _MB_ per second, and it doesn't make sense as Mb per second either. But it's easy to work out if the elapsed time is correct.
(2,678,614,016 * 8) / 76.23 = 281,108,646 bps = 35,138,581 Bps
Ignoring overhead of error correction and packets of course. I did a couple of tests and the calculations came out roughly the same. That is probably the limit of the IDE drives in that machine, so I'm plenty happy with that transfer rate.
Then I pulled the same file back from the Debian server to the XP, with the receiving disk this time being a WD Raptor with probably a 60-70 MB/sec. transfer rate. Both NICs are linked up at 1000 mbps. Should be faster, right, since the XP box can accept the data much faster? It was almost 5x slower:
\\mambazo\allusers\en_windows_vista_x86_dvd_X12-34293.iso 2,678,614,016
-------------------------------------------------------------------------------
Directories processed = 1
Total data in bytes = 2,678,614,016
Elapsed time in sec. = 337.6
Action speed (MB/min) = 476
Files copied = 1
Exit code = 0 (No error, Successful operation)
(2,678,614,016 * 8) / 337.6 = 63,474,266 bps = 7,934,283 Bps
So what the heck could make the transfer so much faster going from XP->Debian vs. Debian->XP?