I have also found that [file readable|writable] returns 0 on Windows when it
should return 1 - in this case for the pseudo-network shared directory of
VirtualBox when Windows runs in a VM.

The shared directory on the (Linux) host is represented as and also as drive "E:".  This is a wish 8.6.6 console session:

<verbatim>
(bin) 1 % cd E:/
() 2 % file mkdir temp1
() 3 % file writable temp1
0
() 4 % file mkdir temp1/temp2
() 5 % set fout [open temp1/temp.txt w]
file3815c60
() 6 % puts $fout Hi!
() 7 % close $fout
() 8 % file writable temp1
0
() 9 %
() 9 %
() 9 % file readable temp1/temp.txt
0
() 10 % set fin [open temp1/temp.txt]
file37da530
() 11 % read $fin
Hi!

() 12 % close $fin
() 13 % file readable temp1/temp.txt
0
() 14 %
</verbatim>

The shared directory on Linux is owned by the same user that runs VirtualBox.  Files are created with conventional permissions: 775 for directories, 664 for files.  Changing these to 777, 666 makes no difference to [file readable|writable] in Tcl in the Windows guest OS, even in a fresh Tcl interpreter.

Jeff mentioned below a similar bug in Tcl when using VMware - [1661378fffffffff].