Your solution for fixing this incarnation of the IE z-index bug is actually the only one I have ever come across, so whilst it is hacky, it's probably as good as you are going to get. I guess a nifty bit of jQuery could make applying the z-indexes easier and keep the source HTML clean. If anyone wants to give that a go please share the results!
Joel Birch.