+2  A: 

You'd have to post the WSDL for me to be sure, but "Web Service Returns Null" almost always means there's a dispute about XML Namespaces - the service is sending you data in one namespace, and .NET is expecting a different namespace.

In this case, note that most of the response is in the default namespace, even though the wrapper element is in the http://MyCompany.com/SomeCompany/mm/MaterialMasterSearch namespace.

John Saunders
Great idea... I've bumped your answer beause it was a good shot. However, I'm able to fake a packet, and I've faked their packet and changed namespaces all over the place. This doesn't seem to be the problem. It's not crashing, and the object itself is NOT NULL. The items within the object are null.
Jerry
@Jerry: I'll try to look at this in more detail over lunch - but I have to say that the WSDL does _not_ show the signs that usually indicate mixed namespaces. In the meantime, if you could look in your Reference.cs file and see which namespaces have been put on the elements, and compare with the XML, that would be good.
John Saunders
Spoke with developers and had them send me a new WSDL. (You'd swear I asked them to send government secrets). FINALLY got it, and wouldn't you know, it's different. Apparently each item is now an array of items, not a single item, thus why it was null... .NET couldn't determine the type so it left it null.
Jerry
+1  A: 

Make sure your service references are up to date. This happens to us when the service WSDL changed but the references were not updated.

yodaj007