The timestamp on the SWF file in bin-debug should tell you if a new SWF was generated or not. There is no cache, the SWF file from bin-debug is run when you hit debug/run for AIR apps.
Often, the root cause for this is that the file you are editing on is not linked in from an application or module. Next time you hit this issue, make sure the MXML file/AS file is being instantiated or referred to from your application or module.
P.S: If you do Project -> Clean, all Flash Builder compiler caches for that project is thrown away and then a full compile is triggered. You can safely mix and match this with "Build automatically" turned on.
Thanks for the answer. How exactly Flash Builder is running is a little clearer to me now. I checked and the timestamps were indeed being updated correctly.
This helped me to look elsewhere for the issue. I actually now think it may have to do with mobile home sync that I have going through OS X. Whenever the sync runs, FB seems to launch an outdated (as in hours ago) version of the app. Despite the fact that the sync is not pulling in new files, it seems to be the issue. If i stop the sync I start seeing the current version of the app again when I run the debugger. So I think its just the OS causing my problem (although I still don't completely understand why exactly the issue would manifest itself in FB). Fortunately I can recreate the issue every time I run the sync, so the problem is consistent at least!
Thanks again for your help.