Well you haven't posted any HTML so it's a little hard to help you. But these articles should help you understand how to use z-index
properly:
What you've got is correct to apply z-index: a position of type relative, fixed or absolute. The problem with IE is that it doesn't apply the z-index of an element globally across the entire document as it does in other browsers.
In IE, z-index is only applied within a stacking context, which is automatically created by any element that has position relative, fixed or absolute applied to it.
As a result, you've most likely got the following, which is why z-index isn't working as you'd expect:
<div style="position: relative">
<div style="position: relative; z-index: 1;">
</div>
</div>
<div style="position: relative">
<div style="position: relative; z-index: 2;">
</div>
</div>
In the above, all browsers but IE will always put the z-index: 2 div above the z-index: 1. However, IE won't always because both elements are in their own stacking context and therefor their z-index's don't apply to each other.
The fix is to add z-index to the parent elements that are creating the separate stacking context:
<div style="position: relative; z-index: 1;">
<div style="position: relative;">
</div>
</div>
<div style="position: relative; z-index: 2;">
<div style="position: relative;">
</div>
</div>