Yeah, it's not uncommon for the disk to slow down the network transfer rate.  Firewire 400 max is pretty close to the average speed of a single SATA drive though.  It could be the way the SMB protocol is designed for transferring files or drivers or hardware or whatever but I'm not an expert in firewire.  I can't tell you anything else to do beyond what I know about networks and protocols (doesn't seam like a huge deal to you anyway that the firewire is only ~50% of what it should be).

Other than that, the way the two PCs talk to each other in XP does become inefficient on higher-speed or high-latency networks (XP uses standard TCP).  It has to do with speed adjustments which is designed to prevent congestion on the network by scaling down the bps.  The way it adjusts the speed was designed 30+ years ago when networks and computers were much slower.  You can notice the speed adjustments from the fact that the kbps line in the firewire graphs are jumping all over the place (it could be other reasons but TCP may be one of them).  I'd explain to you why and what would cause TCP to fluctuate like that but I'm going to leave the math out, I don't think it would help you much anyway.

When Microsoft rewrote the networking stack in Vista they improved network efficiency with something called &quot;Compound TCP&quot; which came out of Microsoft research.  You can see a pretty significant drop in speed with 1Gbps+ connections on standard TCP, &quot;Compound TCP&quot; is suppose to fix that.  Unfortunately they scraped pre-installed firewire networks in Vista in favor of 1Gbps/10Gbps ethernet and USB 2.0 networks.

The speed is regulated on the server end.  So if you had an XP and a Vista machine, copying files from XP to Vista would be slower than Vista to XP.  Z2 as a client may be causing packet loss so the speed adjusts to that because I'm seeing a 92% CPU load.  That may be why it works better the other way around but that's my guess.