Here are a few lessons I learned from Ludum Dare 31:
With HTML and swfobject.js, there seems to be no way to get initial mouse and keyboard focus without using wmode = "opaque" or possibly "window", both of which apparently have performance problems. If you use wmode = "direct" for embedding Flash, people will have to click the flash video first for Flixel, and that click will apparently get ignored. Modifying Flixel might be one way to fix it. I just worked around it by making the game initially pause so there is a big arrow that makes it sort of obvious people need to click.
Sometimes FlashDevelop seems to stop detecting compile errors, but when you run the standalone Flash player, it will freeze without doing anything. In this situation, if you close the Flash player and restart FlashDevelop, the next time you compile the error(s) should be properly detected.
The standalone Flash player seems to have a bit of lag playing sound effects. However, playing the game in FireFox seems to make it better, so don't panic! The "0.2" master volume in BFXR seems to work with 22 volume on my computer. However, BFXR annoyingly seems to reset the master volume with each new sound, so be very careful if you are wearing headphones.
If I do something silly with a title/menu page like making it a minigame, some people may like it, but other people may be annoyed by it. My conclusion is that I should include a skip button or keypress in that case so the people who get annoyed can jump straight to gameplay.
*edit* I do apologize for the confusion about the Sonar X3 bus output volume automation. I tried it in a test song today and it worked. I then went back to what I think was the ORIGINAL song where I left the input gain automated instead, and changed it back to bus output volume. That also still works perfectly, whether I set the automation line up myself or drag the slider to control it. So I have no idea what I was missing, other than something naturally going wrong on a short-deadline project.