When the element of prog.xml contains %BASE%, the service fails.
Windows Event log says that could not find path: "C:\Windows\system32\%BASE%\logs\prog.wrapper.log"
It seems the wrapper first determines whether the path is absolute and then resolve variables...
The code looks correct to me. I'm assuming this has been fixed since then.