yah i was going to say it sounds very much like something is going wrong with the headers such that the httprequest object thinks it has complete data but doesn't really ... could also be the null values causing a mismatch between what the request is saying it has sent and the data length the client thinks it got
"there is no spoon" {me}