Problem solved. Apparently, Safari handles position: static differently than other browsers, including other webkit browsers. I had the following CSS to prevent *this exact problem* in IE7:
#nav li:hover,#nav li.sfHover { position: static; } When I removed it, the sticky menus vanished from Safari (and reappeared in IE7). Thankfully I have an IE-specific supplemental stylesheet to handle this.