I've tried to replicate the error and the way the link is displayed (display: block;) made a lot of difference:
<style>
.myNewButton {
display: block;
width: 84px !important;
height: 84px !important;
background-image: url('#{request.contextPath}/resources/img/x.png') !important;
}
.myNewButton:hover {
display: block;
width: 84px !important;
height: 84px !important;
background-image: url('#{request.contextPath}/resources/img/e.png') !important;
}
</style>
<h:form>
<p:commandLink styleClass="myNewButton"
oncomplete="myDialog.show(); return false;" />
</h:form>