You're saying that if you submit a packet to one device when it is offline, the shield will subsequently send that packet to a completely different device? That sounds horrendous
I think what is happening is that the shield does not clear the write buffer when a packet is not delivered. So every subsequent undelivered packet gets appended to the buffer (rather than overwrite it). When the next packet is delivered successfully, the shield would send all of the contents of the buffer and then clear it to get ready for the next packet. I haven’t looked at the Ethernet libraries to verify this but it sounds a reasonable explanation. Any comments?