Update on this, just in case anyone else cares not to waste a day investigating this.
It turns out that there some wrong versions of dlls in the client folder. I was testing the Menu Usage tracker, it has several Ice.lib.dlls in the installer that overwrite the ones in your client directory. that being 10.1.600.18 instead of 10.1.600.25, which we are currently on. The main offender appeared to be Ice.Lib.EpiClientLib.dll.
So after copying the correct files back from a known working client, it fixed the issue.
Glad this wasn’t in our production environment. So there really is truth in the adage of testing in test first.
I notice that there are a lot of duplicate files in the installer (as in, files that already exist in the client folder). I’m not sure if they really should be included in the installer or not, perhaps someone with some greater knowledge of this could enlighten me.