Hi there. I've got a slightly more simple solution for locking files. I too ran across the problem of how to best implement locking knowing that locking doesn't work well across networks.
I propose you use port binding as your locking mechanism. On your Unix machine (which runs process A), open up a socket and bind it to a port as your lock. To unlock, simply close the socket. On your windows machine, just test the port to see if the file is "locked" or not. By testing, I mean issue a tcp connection to that port and see if a connection is open. If it is, the file is "locked". If the connection is rejected, the file is "unlocked". This also has the advantage that you can leave the open connection open and wait for it to close from the other side. Once that happens, you know the file has been "unlocked". Keep in mind you'll need to adjust firewalls for this to work.