The problem is that if you use caching, advanced caching etc. Windows will write to and read from the cache to give you way better performance. If you don't want that, like on external drives, simply disable the cache completely for that affected drive and you can remove it after the file transfer is finished. Don't blame an OS where the user can choose the behavior. That's especially to you Linux-users.
no i blame this on the os. such things should, especially if they tend to confuse users, be on disabled by default not by user.
if i have an external hd connected on linux i can remove it even unsafely and perfectly connect it to windows or mac os x or whatever without having such problems.
this is windows to blame, not the user or linux. a bit like windows just refuses to implement drivers to read ext3/4 disks and partitions while on the other hand you can easily read/write ntfs partitions on linux.