<p>I'm asking in generalities - why would any server not set and return headers and/or status codes? I can't think of a good reason for this. Perhaps I'm overlooking something.</p>

The Status-Code is a required part of a HTTP Response.
By definition, the only reason for a server not to provide a Status-Line is that it is not a HTTP server.
RFC 2616, section 6: Response
.
Or said in a slightly less pedant way: if it does this, the server is hopelessly buggy and you should run away from it screaming.