I'm not sure where this should go but I'm sure it's a bug.
In Stream.readBytes() - Arduino Reference readBytes is documented as taking either char or byte but when used with an SD File object you have to cast it to char. Hell it's called readBytes not readChars. Perversely enough an eithernet client wants bytes.
This works but vice-versa fails
** byte bfr[outBfrSz];**