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 ~ 2005 and were fully supported by WindowsXP.
As USB Mass Storage Class devices they were using SCSI protocol on the top of USB (am I right at this point?). There is UNMAP is SCSI, but it was not supported in WinXP as well.
So, the only chance for USB Flash drive to know some block may be deleted is write request from OS.
That means after some usage whole drive is dirty and it is always slow. There is no way to tell it to delete any block. You only need to throw it away and buy new.
But I am sure that is not how it was. What did I miss?