Sometimes Eject or Safely Remove does not want to function. Even though the stick will be shown as a removable drive, if you explicitly list the letter,
Sync from SystemInternals should flush the data to disk.
I have USB 3.0 docks with caching enabled. I have sync.exe hooked to F10 function key. Before I'm going to shut off a dock, I hit F10 a few times to make sure the data is written. Sync works by simply locking the volume. This triggers Windows to write all data in file buffers to the drive. Couldn't be much safer. I've been using Sync.exe through many flavors of Windows.
By default just running sync.exe at a command prompt flushes all fixed disks. To use with a USB key that has write caching disabled, just specify the drive letter, like
sync F
without the ':'
The drives in my docks show as fixed disks. The fastest way to see if you have to specify the drive letter is just run sync.exe. It will report the letters of the drives flushed. If it shows your thumb, then no need to specify it.
It couldn't hurt.