Answering my own question, in the hope, it will be useful to future readers.
This comment was key:
It lists two .Net versions at the top, the older squared brackets. Is it possible to load or use parts of two frameworks?
After all, this was not the name of the project. Instead, we had our own build log written for use with the msbuild version shipped with RS2010. It was built with a different version of .Net, and loading the log log dll caused serious problems inside msbuild - understandably, as I assume it meant loading two different versions of the .NET environment.
Why this answer may not be correct: I tried command lines without a custom logger (slowly tidying up our old working command lines in half and then working again to find the problem.) Those who sans-logger builds also failed, which leaves me a little puzzled . Perhaps some intermediate output from the failed msbuild instance has confused subsequent runs, or something in the .Net runtime has cached the use of DLLs or different loaded runtimes. I know that the user logger really caused problems and deleted the DLL itself (namely, when everything really started working), and also just deleted it from the command line, fixing the problem.
David source share