In theory you can use the function SysCopyObject to copy a file with a long name from an HPFS formatted drive to a FAT formatted drive. In real life it works sometimes and sometimes not. This seems to be a bug.
SysCopyObject does not overwrite an existing file.
(see also Copy a file from HPFS to FAT and vice versa for a workaround)