Your deduction is close, but not exact - since the issue is the specific buffer and not the number of parameters. If you commented out a different buffer, the same issue would appear, while if you duplicate one of the others (e.g. have input1 and input2), it would still work.
The issue is that the debugger does not currently support cl_mem parameters with a value (i.e pointer address) of 0 / NULL.
If you take the code you attached, and replace
cl_mem nodesA = 0;
cl_mem nodesA = clCreateBuffer(
The debugging works perfectly.
Since the runtime allows NULL mem handles, the debugger should support it, but for now - as a workaround, you can create a dummy buffer (as you see from my sample code, it doesn't have to be big) and pass it instead - since the buffer was originally NULL, that means it couldn't have been accessed anyway...