I had a JavaScript pull-down menu that overlapped with a Flash movie. No matter what z-index I set, the menu always rendered behind the Flash content. Classic problem.

The fix is to set wmode to transparent on both the <object> and <embed> tags:

<object ...>
  <param name="wmode" value="transparent">
  <embed ... wmode="transparent"></embed>
</object>

This tells the Flash player to respect the browser’s stacking context instead of rendering in its own window layer. The menu displays correctly over the Flash movie after that.