in reply to Re^2: Can't create Win32::OLE object
in thread Can't create Win32::OLE object

Apparently it couldn't create another instance of this process with one still hanging out there

I don't think it even tries. If the application is already running, it will send the commands to that process. That means it was sending commands to (and waiting for a reply from) the non-responsive process. I'm not too sure about this.