Since there is no client.send() command, I presume that each of these creates a separate packet, and is sent as the wifi card gets it, as does the ethernet shield. For example, this will send 4 packets.
client.println("Host: blah.com");
client.println("User-Agent: TestClient");
client.println("Connection: close");
client.println();
This is the same stuff sent as one packet.
client.println("Host: blah.com\r\nUser-Agent: TestClient\r\nConnection: close\r\n");
If someone could use Wireshark and confirm this, that would take the presumption out of the equation.
edit: Some user suggested a client.send() command be added to the ethernet library. That would not be a bad idea. That way you could use the device buffer instead of the Arduino SRAM. It would go something like this to send one packet:
client.println("Host: blah.com");
client.println("User-Agent: TestClient");
client.println("Connection: close");
client.println();
client.send();
edit2: To maintain legacy compatibility, it would require two new functions. One to prevent the immediate send, and another to send.
client.nosend();
client.println("Host: blah.com");
client.println("User-Agent: TestClient");
client.println("Connection: close");
client.println();
client.send();