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.
The same thing I realized for the ui tabs. The base header structure is <ul><li><a> ... Again you are using elements with a special behaviour (<li> elements have list style, have block display and left margins, <a> elements for example shows the href in IE9 when you hoover over it). These behaviour is also anulled through CSS (and even through Javascript) and the ui theme is applied.
So what is the reason for prefering those special elements instead of simple elements that have no extra behaviour like div or span ?