NOTE:
// unused original code has been left in place, but commented out, in case you ever want to switch back, and just to show what's been changed.

What will happen is this:

When you set your image sizes in the Admin panel (System > Settings > Image tab), instead of tall images getting shrunk to fit into a square box, they will automatically expand to fit the width you have set for your products.

For example: you set your product thumbnails to be 225 x 225.
Book covers will appear 225 x (the height in proportion to the width)
and cd covers will still be 225 x 225.
Also the image will align to the top of the div .box instead of floating in the center of a tall box. For this reason, set all images to square proportions.

Anyway, this is what I wanted for my own cart. Some may want to keep all the products the same size, which is what the original code does very well, but I like them to be relative to one another.

Also, thanks to 'uksitebuilder' for helping me with the image background color. That's also commented.