Probably it's a bug in the firmware of the scope that triggers this error in combination with certain USB host controller chipsets.
The reason that this problem occurs on Linux is probably because the kernel developers are more strict with the USB standard.
To give you an example, connect your DS1000Z to a USB port and enter dmesg:
[ 569.775078] usb 1-2: new high-speed USB device number 4 using ehci-pci
[ 569.911485] usb 1-2: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
[ 569.911499] usb 1-2: config 1 interface 0 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 64
[ 569.911976] usb 1-2: New USB device found, idVendor=1ab1, idProduct=04ce
[ 569.911987] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 569.911991] usb 1-2: Product: DS1000Z Series
[ 569.911994] usb 1-2: Manufacturer: Rigol Technologies.
[ 569.911998] usb 1-2: SerialNumber: DS1ZA17040xxxx
[ 569.934523] usbcore: registered new interface driver usbtmc
The scope presents itself as a highspeed USB device but set the maxpacket value for the bulk endpoint to 64 bytes.
The USB standard says that a highspeed USB device MUST set that value to 512 bytes!
I reported this bug to Rigol but no answer so far.
My impression is that they don't care about Linux...