lost end information when using EthernetClient.readString()

I wonder if you are getting hit by the default 1000 millisecond timeout. Try using client.setTimeout(2000); to see if that reads more characters.