I've given up trying to align my text on buttons! Now, if I need it, I'm using <a>
tags, like so:
<a href="javascript:void();" style="display:block;font-size:1em;padding:5px;cursor:default;" onclick="document.getElementById('form').submit();">Submit</a>
So, if the document's font size is 12px, my "button" will have 22px height. And the text will be vertically align. That in theory, because, in some casses, an unequal padding of "6px 5px 4px 5px" will do the job done.
Although, is a hack, this technique is pretty good for solving compatibility issues in older browsers too, like IE6!