Are you using Integrator Server? We have a similar setup, and we use Integrator Server to set up a sandbox for the project. Then in our windows environment, we use integrator to open the project as a CloverETL Server Project. We are able to run all the graphs from integrator, including load data graphs.
Did you confirm that the host and port are correctly configured in the graphs on the Windows machine?
I realize it's a basic question, but sometimes, the basic questions are the easiest to overlook.
This type of problem can be caused by network hostname configuration issues, and/or DNS/name-resolver problems.
Integrator and Endeca Server use a slightly different mechanism when establishing the host:port for the different config/ingest operations, which can explain why your config operations may succeed, only for the ETLGraph to fail when it gets to the point of loading actual records through the bulk load interface.
Check the hostname you have assigned on your Endeca Server. If this is "localhost" then you will likely have problems using the Bulk Load Interface from a remote machine e.g. running Integrator or Integrator Server. This is because Integrator makes a web-service call to ES to obtain the correct hostname:port for bulk load. You can further test this with endeca-cmd:
./endeca-cmd.sh allocate-bulk-load-port <insert-your-rw-dd-name-here>
Bulk load host: my-host-name
Bulk load port: 7020
Again, if the response here is "localhost", remote bulk loads will fail, and you will need to reconfigure networking on your server.
If you are getting "localhost", follow your OS instructions to modify the hostname on the machine. You may then need to re-initialize your Endeca Server instance, as its persistence is local hostname-sensitive.