Sadly, there may not be much else I can suggest in this case that will get this code to run on the grid node. If the API call requires the code to run as a desktop (non-service) application, the execution environment of the grid node simply cannot process it.
I would recommend perhaps stubbing the call out through an injected dependency controlled by the test, or using
conditional compilation to prevent the API from being called when NCrunch is executing this code.
Another option would be to mark tests executing this code as being able to run on desktop machines only, through the use of
capabilities. In this way, the tests exhibiting the problem would run on your local machine, and the other tests could be run on the grid node.