When the extension is not installed, WinSCP uses trick to allow drag&drop downloads. It tells Windows Explorer that the files are in temporary folder (from where Windows Explorer knows how to get the files) and a moment before the Windows Explorer starts to copy files from there, WinSCP downloads the files there.
I'm trying to create similar functionality in my application. what is the sequence of events that happens? winscp tells windows Explorer to look in a temp directory for a file, then winscp copies the the file to the temp directory, then windows explorer copies it from the temp directory to the ultimate destination? If so, how does windows explorer know to wait until you finish downloading the file before it transfers it?