It is likely to be due to different types of memory management, the amount of ram and virtual memory in windows versus the swap file under linux. There can come a point in time when the OS "runs out of memory" particularly if using large block sizes - though in general using large block sizes will result in faster file i/o operations. There would however be little point in using a 1 gb block size to copy a 1 kb file (or a couple of sectors if you prefer). The block size needs to be chosen in line with the amount of memory and the total amount of data to be copied.Does anybody knows why the block size has much effects on windows xp but not linux suse?
In addition dd is native to linux even though there is a dd for windows application (is that what you were using?) but I doubt if it is totally analagous in the way it works.