As far as I know, there was no TRIM/UNMAP support in Windows before 7 (special tools were used for SSD drives), but flash drives were used since about 2005 and were fully supported by Windows XP.
As USB mass storage devices, they were using the SCSI protocol on top of USB (am I right at this point?). There is UNMAP in SCSI, but it was not supported in Windows XP as well.
So, the only chance for a USB flash drive to know some block may be deleted is a write request from the OS.
That means after some usage, the whole drive is dirty and it is always slow. There is no way to tell it to delete any block. You only can throw it away and buy a new USB flash drive.
But I am sure that this is not how it was. What did I miss?