They are stored in your system's "Temporary Internet Files" cache (i.e. I.E.'s cache). I have Firefox as my default browser, and yet they're still stored in a "AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5" subfolder.
Here is how I established this fact. I first re-enabled NTFS Last-Access-Time updates in Windows 7 by setting HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate to zero and restarted the computer. I then opened Visual Studio and created a program with a FileSystemWatcher instance configured as shown in the code below:
FileSystemWatcher watcher = new FileSystemWatcher( "C:\\", "*.swf" );
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite;
watcher.Changed += new FileSystemEventHandler(watcher_Changed);
watcher.IncludeSubdirectories = true;
watcher.EnableRaisingEvents = true;
Next, I tested a program in Flash CS6 which loads external SWF files from a remote server. It uses the URLLoader class to get the bytes of the file first, then calls the loadBytes method of a Loader instance to load the SWF's bytes. (Using URLLoader is a workaround to bypass a local security sandbox restriction that would otherwise prevent remote code from being loaded into the same application domain and security domain of the local SWF; it's a requirement for my code base, since the remote SWF uses classes defined in the local container SWF).
The "watcher_Changed" event handler listed the files accessed or written to by the Flash IDE's player, and this is what turned up.
My container SWF "basemovie3.swf" (the main project file), was loaded from the directory:
"C:\Users\[your_username]\AppData\Local\Adobe\Flash CS6\en_US\Configuration\CodeModel\cm-cache\SwcCache\basemovie3.swc1272273593\library.swf"
The remote SWF "l003s.swf" (the problematic one being cached), was loaded from the directory:
"C:\Users\[your_username]\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\IGH0THHW\l003s[1].swf"
So there you have it. The remotely loaded SWF was loaded from the Temporary Internet Files cache.
Despite appending a query string of the form "?random=randomnumber×tamp=currenttime" to the URL of the remotely loaded file "l003s.swf", the file system watcher reportd NO WRITE to any SWF files at all despite attempting to load the file multiple times with different query strings and some more attempts after updating the file on the server as well.
It seems that the best way to clear the file is to open your start menu and type "Temporary", you can click on any of the options "Change temporary Internet file settings", "Delete cookies or temporary files", or "Delete browsing history". They'll all bring you to the Temporary Internet Settings windows, where you can delete your browsing history and caches.