So many misconceptions and misunderstandings that even I got lost in the way.

I'll try to get this straight, to everyone, including myself:

So he's got 2 PCs. Call them PC1 and PC2. The PC1 is connected to the Arduino using the USB cable, so that means he is controlling the arduino with PC1?

And the Arduino (and the Ethernet shield) and PC2 are connected via Ethernet cable. So he's sending a message from PC1 to PC2 via the Arduino, and wondering why he cannot reverse that, am I right?

If this is the case, the Arduino serves as a vessel for the message from PC1 to PC2, respectively "Sender" and "Receiver". The Arduino between Sender and Receiver acts as Forwarder, it forwards to message to the Receiver, via the Ethernet cable.

Now, metaphorically this is like a superball that doesn't bounce back, because you're throwing it in a bucket of cement.

For each connection, you need something that delivers it. In this case, you want a connection like this:- PC1 to Arduino -> Arduino to PC2

Simplifying this you need 3 different connections (Though in reality you need more). Now you only have 2, so you need a connection from PC2 back to PC1. It's just like upload and download connections, you need both while browsing the internet.

If I am right, you can achieve this by connecting the Arduino to your broadband router/modem, or the same network your PC1 and PC2 are on.However, I doubt the same sketch would work in that case.

Take a look at the code in this thread:http://arduino.cc/forum/index.php/topic,104390.msg783084.html#msg783084

It is a simple telnet type connection that works both ways. It is by no means complete, just a test. But it should give you an idea how it works. Feel free to modify it to your heart's content.

edit: That code above is a bit lacking. Try this. It is a bit better for two way comm. Change the network settings to yours. It will timeout the connected client if there is no input for about a minute.

Possibly. The Ethernet shield allows for a small number of simultaneous connections. I don't know whether the sketch allows it though. The point of the Arduino is to allow for quick experimentation. Try it and see.