I dove into the code and found the issue. When creating the command line argument for nupic.swarming.HypersearchWorker you assumed that nupic is installed with the system default python interpreter.
Since I use virtualenv to isolate the python experiments the subprocess worker was not able to execute the HypersearchWorker code and hence not populate the jobInfo.results which caused the error.
When removing the assumption of what python interpreter to use and instead using the path of the currently running python executable (sys.executable) the workers find the code and the swarming works as it should.
I believe this also explains why Matt @rhyolight did not experience any issues when running in a virtualenv using the same commands as I used. Since you already have nupic installed in your systems default python (I assume) you just used a different python instance for the workers.
How do you want me to submit the patch?