Tests on the pre-production environment showed up a defect that seems to be present in .Net 3.0 but fixed in .Net 3.0 SP1. I've not located the release notes for the Service Pack so can not confirm this for sure.
The DefectThe provider web service returns an empty message in certain legitimate situations. The Windows Service therefore avoids processing a message's body if message.IsEmpty was true.
On my development PC all was good, but the pre-production environment gave exceptions whenever an empty message was processed.
Installing .Net 3.0 SP1 fixed the defect. If you know why, please leave a comment!