Does Windows automatically link to dlls hidden somewhere in your system files? I ran the program as-is, unzipped into a folder, which worked for me.
I think I have the SDK installed, but that's it. The SDK for AMD, and AMD's catalyst driver.
DLL's are searched for and loaded according to the environment path variable, but it always checks the current directory first (where the executed program is), so if you ship a dll with your application it will always choose that dll.
With linking I meant what libraries you link with when you build the program (linker->input in visual studio project properties). You link with .lib files which have a matching .dll. If you accidentally shpi the program with a dll of another version than the .lib you linked with there will be issues.
In this case the problem is actually with the GPU platform. I have an NVIDIA card that only supports OpenCL 1.0. You'll have to check at startup that the computer/GPU the application is running on supports the OpenCL level you need (there are specific functions for doing that).
Edit: Also, you shouldn't include OpenCL.dll with the program. If the installed driver supports any form of OpenCL it will have its own dll available. When you include it yourself you override the one shipped with the driver, which will cause additional problems (including issues between OS versions).