Well, I managed to get it to work but boy is this silly. Basically I needed to add the .config file mentioned above for my VB6 app (not the DLL). I had actually already tried this, but previously messed up and created it as myapp.config instead of myapp.exe.config. By creating the latter, I solved this and it does now seem to run regardless of framework version installed. I know config files aren't so unusual in the .NET world, but for my VB6 app, it seems rather silly that I've got to install this .net related config file for MY APP just so that the library that my app happens to use for one of its many functions can work on either 2.0 or 4.0 CLR.