I'm getting a similar error when trying to upload, and then reading the flash back I see that nothing was uploaded, but some pages got filled up with 0s.
I'll have to dig more in the bootloader to see what's going on.
Btw I tried with libusbK driver that Zadig could install with the same result.
I think I have an idea of the problem. I get this when I use the -v option with dfuutil:
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash "
Memory segment at 0x08000000 4 x 16384 = 65536 (r)
Memory segment at 0x08010000 1 x 65536 = 65536 (rew)
Memory segment at 0x08020000 3 x 131072 = 393216 (rew)
Downloading to address = 0x08004000, size = 24140
Last page at 0x08009e4b is not writeable
As you see all 4 of the initial 16KB pages are marked as (r) as opposed to the others being RW. Initially Chriss was reserving 4 pages for his bootloader, 64KB, but I changed that to 16KB. I must have left it unchanged in some place. I'll get back to the code and check it up.
BTW, if I set the upload address to 0x08010000 in dfuutil, it uploads without any error.