You can use GetDataBack for NTFS or GetDataBack for FAT. I assume the FAT will be the one to use for a flash drive. It wont un format the drive, but you can get all your data back from it. I've used it a few times and has always worked.
Its not freeware, but you can search and find a hacked version, Im sure you will find it