my first suggestion is to make sure that .NET 2.0 is properly installed on the client machine. many times stock XP machines are missing various dlls in the GAC if they have not touched the internet in a while. Just run the setup.exe that is deployed
with your ClickOnce deployment, then try it again.
if that doesn't work, try one of the two following things:
1. Create a Setup project that only installs all the detected dependencies of the project you are trying to deploy, but not the project output. this will ensure that the GAC has all the neccessary assemblies for your application.
2. Manually check the dependencies in both the GAC and the locations your application is loading them from.
for all i know this could have nothing to do with missing assemblies, but that seems to be the remedy when it happens to me.