I needed to resize images proportionally for a site and found the answer far more simple than I expected…
If you need to specify the height set the width to auto. Vice versa for width.
Why can’t all CSS be this simple! It even works in IE6….