I ended up having to rewrite the batch script to call the Cilly driver from within the Python script. I'm still not sure why I have to do this -- I suspect that it is because the `subprocess` module -- which allows Python to make system calls -- employs the Windows shell to make its calls. In the Windows shell, I am unable to use either the UNIX absolute path or the Windows absolute path to the driver to run it. I have tried to prefix the call to the driver with the 'perl' command to be more explicit, in case the Windows shell was ignoring the shebang, but I seem to be running into issues specifying where perl should look to find the files that it needs (its PATH). The batch file seems to work best for my purposes.
It is a very singular use case though, so you don't have to add it to the CIL source code if it makes it messier. Thanks for your help! :)