I think I have a similar situation, but for different reasons. I prefer to develop using a language (Chrome-a form of object pascal) for which ES does not, understandably, provide code generation templates. To overcome this small hurdle I simple build my solution with a C# project and a Chrome project. My C# project generates one DLL that contains all the ES generated code. I then simply reference that DLL in my Chrome project.
Now, I too have to include references to ES DLLs in my Chrome project, but I have never really taken the time to ponder why. Having now pondered a little I suspect, in my case, the need for the references are due to 1) the "hard coding" of the connection info into my Chrome initialization process, and 2) it may be an issue of the various scopes assigned methods within the ES classes. For example a scope of Assembly could cover an entire application, allowing it to function normally until you start making external calls as it appears you/we/me may be doing.
Hopefully someone much more knowledgeable than me can/will chime in with a yea or ney as to my "theories."