lazna,
Abyss Web Server when running as a Windows service is launched way before any user session is started and as such uses environment variables that were at its time of startup.
When you later change these vars, the change is not communicated to already running processes but is effective for processes launched after the change has been made. This isn't specific to our software but rather how env variables are transmitted to processes (actually each process gets a copy of the env vars list at its startup and propagates it down to its children.)
So the solution is not about using env variables but rather by sharing the data in files or using better IPC mechanisms (Interprocess Communication.)
The files solution is probably the easiest and the one with minimal changes to your BAT files:
rem Read value of MYVAR from C:\shared\myvar.txt
set /p MYVAR=<C:\shared\myvar.txt
rem Use MYVAR as if it came from the env
echo Here is the value of the var %MYVAR%