To put this another way that is perhaps easier.

kdb04d is quite right in that what is being centered is the whole of that block. Because of what is in the block it is almost impossible to align the price with the center of the next <div> ( which contains the quantity and add to cart ) all of which are inside the <td>

This is what I was saying about emulating a vertical align center with css.

Yes it would be a solution to put the next div ( which contains the quantity and add to cart ) in its own table cell. Unfortunately this is going to mean rewriting a good chunk of flexible_product_listing as far as I can see.

My solution is to get rid of the center align. Set the part number 16px (or 1em) down from the top of the cell. Set the Item name 16px down from the top of the cell. Set the price 16px down from the top of the cell. They may not be in the center but they will align with each other and you will find a spacing that makes it look just great. (16px is just a guess.)