Using the ifconfig command in a Terminal to look at the network settings, I noticed that my Ethernet adapter had IPv6 turned on -- apparently the default configuration in OS X. I don't use any services which require IPv6, so I turned it off in the Network Preferences. Lo and behold, I am now getting full speed transfers to the XP box.
I have a feeling that either my router (a piece of junk from my ISP) or the Windows box were not handling the IPv6 negotiations properly...
[robg adds: If anyone can confirm this problem, or further narrow when it may occur, please post a comment. I have an XP box, and transfer speeds to/from the Mac seem just as quick as Mac/Mac transfers...]

