I think you are running into the stale file handle issue with CIFS mounts. What I think is happening is you are referring to a file on the cache and when it is moved the file handle has changed and you can then no longer access it.
When UD (Unassigned Devices Plugin) mounts a CIFS share, it uses the 'noserverino' parameter that prevents the stale file handle.
Example UD mount command:
/sbin/mount -t 'cifs' -o rw,noserverino,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777,uid=99,gid=100,credentials='/tmp/unassigned.devices/credentials_Public' '//MEDIASERVER/Public' '/mnt/remotes/MEDIASERVER_Public'
Basically what the 'noserverino' does is use a local 'ino' and the not the server 'ino' which can change if the file is moved.
Take a look at all the parameters used here and see if any others would apply to your situation.
Give that a try. Let me know how it goes and we can work on it somemore.