Aha, I think I might be there. I tried various experiments which I won't bore you with but eventually I've found that if I go back to the original project which referred to my dll and removed the reference, saved it, put the reference back in and saved it again before copying across to the other machine it's fine. There's one other project that exhibits so I should be able to fix that one now as well.

The only conclusion I can reach is that there was something wrong with the reference that was originally set. I can't see what though, it looks perfectly normal, has the correct path and works fine on the original machine.