In fact, I've now managed to narrow it down to this:
1) If I restore to a not-yet-existing directory, I get the dreaded
"Truncated header string" error.
2) If I restore to an empty directory, I still get the error.
3) If I restore to a fully populated directory, I get no error. This
just means that the problem is likely to exist around the retrieval,
transmission and application of an rdiff.
4) If I restore to a populated directory from which I've removed the
file that causes the error (ED5049A0.tar.gz), I get no error.
5) If I create a new backup test containing only the file that causes
the error, and test that instead, I get no error.