Recently I ran into an issue where I was altering the default search form to use an image_button (see image_button). A call to hook_form_FORM_ID_alter(&$form, $form_state) is what I used to replace the default submit button with an image button.
Once I got the image to show up I realized that the darn thing was way out of alignment. The submit image was at least 7px above the input field. My first thought was I was going to have to do some relative positioning. Thankfully I did a search and I found a forum post here that identified a better way to do it.