After much panicked running in circles, screaming and shouting I found the sn.exe tool – this is used to validate/add strong names to assemblies. When running it against the Win.Misc DLL, it did in fact have a bad "strong name". I then checked another copy of the same DLL in a different location, and it came back as being ok. The byte count between the two files was identical, but the MD5 hashes were different.
I renamed the "bad" DLL and copied the "good" DLL in. After dropping a new test installed, I got the same error, but on a *different* DLL! (UltrawinGrid this time). After discovering this, I checked all of the DLLs and didn't find any others with bad signatures. I then did the same copy operation and dropped a new installer. Problem solved. Three cheers for those signed DLLs, otherwise the corruption would have gone un-detected until the application started doing REALLY bad things.
g.