Not sure if this would solve your problem but ive seen some other cases of watch directory approaches(like the deploy directory in JBoss) where the deployment starts as soon as the war is created. It does not really need the war file to be fully loaded but as soon as it creates the first bytes of the war, it starts deploying it..
Try increasing the default scan period for the deploy directory. By default, i think its 5 seconds.
This is right. I find it best to copy it to another directory first, and then copy to deploy.