I think that I fall into the general category: "It works great in my development environment, but somewhere else I get strange results," and for all my efforts I am only more confused.
I have 2 applications. One of them is the .NET 4 C # application, and the other (I think) .NET 3.5 VB. The C # application creates a DLL, at the moment I have a version of this DLL compiled from 3.5 so that I can use it in my VB application. I have a VB application source but not a C # application. I have never compiled a C # application on my machine.
Inside this DLL, it refers to a C-based library. (I feel this is a problem.)
In my dev environment, I can use this DLL without any problems in my VB application. However, when I try to do this setup on another machine, it acts as if the bits related to this C-based embedded DLL are not the latest version.
- gacutil confirms c # dll not coming from gac
- FUSLOGVW confirms that the full name of the C # DLL link is the same in both dev / non-dev environments
- In my VB application and inside my app.config, I explicitly declare the name, token, and version of the C # DLL.
- In my VB application, following the link to this DLL, I have "Copy local" and "Specific version" set to False
- Even when copying my DLL to CC and the C # DLL to the target machine, a bad mention still occurs.
- Even downloading applications again on the new system ... a problem arises.
It is not that I get errors. The VB application is still working fine. The VB application creates an instance and uses this C # DLL (inside which there is a C DLL), and I see that inconsistencies from the VB application are problems with the C DLL. I have never had the source code for a C # application on my machine, and therefore I don’t know why it works on its own, but not elsewhere.
I feel that I have reached the end of the fact that I know little about it, and I can’t go anywhere else. I really feel that I should be able to re-create a working environment on other machines.
What else can I see?
Edit
I thought I could add more specific information in the hope that this would lead to a solution. I have currently updated the VB code to work with different values.
This image represents the values returned by one of the C-DLL methods on my machine. 
Everything looks as it should. Then I take my DLLs and executables to a new machine, run it, and these same elements are displayed as:

I checked the GAC several times. I stared at the loaded build logs for several hours, only to notice that the same (correct) DLLs were loading in both environments. I guaranteed that the same MS updates are installed on both computers. I deleted all third-party DLL files from both environments that are used in the project and reloaded them for both.
At this moment, I do not know what causes this. There are no errors. It works as happily on all machines as it does on my own, but I am fully convinced (perhaps having my own inability to see the real problem) that my development machine is creating / "something", I can’t move around, change the link etc. I just now feel that I have exhausted my limited knowledge on this issue.
Oh, last, DLLs were provided to me from VS2010. Tomorrow I will have 2010, and I hope to use the regular .NET 4 library instead of 3.5, which I requested. This is currently my last hope to fix this problem without changing the VB code.
Any ideas?