I tried to style a ui button with a label in the upper left corner and a centered text in the middle. I used position absolute for the label. It worked fine in Chrome and Firefox but not in IE. The IE button element seems to have an inner size according to its content. So I placed another element with the hight of the button and the width of 1px inside (like a strut) and it worked ...
So I wondered why you are using the button element as base for the jquery-ui-button. I found you are killing all the default button behaviour with tricky CSS and than put the ui theme on top of it.
So what is the reason for prefering those special elements instead of simple elements that have no extra behaviour like div or span ?