Le problème c'est qu'avec position:absolute le margin:auto n'est plus pris en compte et du coup div_superpose change de place suivant la taille de l'écran.
(j'ai essayé de rajouter left:50%; mais le problème reste le même!)
Je pense plutot qu'il faut que tu vires ton margin: auto;
parceque ca determine une difference automatique entre les bordure superieur de ton div avec la bordure inferieure du div precedent. et donc ton z-index ne fonctionne pas. si tu veux un margin auto pour la gauche et la droite fait:
Sinon j'ai remarqué que ta superposition est du texte, alors pourquoi ne pas le mettre tout de suite sur ta bannière et par la suite tu le positionne avec le CSS.
<div id="banniere">
<div class="texte_banniere">
<p>
Je suis le texte
</p>
</div>
</div>
Et dans le CSS tu positionne ta banniere et ensuite ton texte.