Step One - Resize all images to same height.
For this tutorial I'll pretend to work with 5 images (I actually used this technique with over 100 recently!). Supposing the dimensions of the 5 images are :-
89x154, 173x190, 240x260, 240x360, 200x165
A bit of a mix there. Now we don't want to distort our images by enlarging the height of any of them, so we look at all the heights, find the smallest height and work to that. In this case the smallest height is 154 so if we make all the images 150 in height we are safe.
Working with multiple images can be time consuming, with maybe just these 5 you can do each one individually but it's nice to know there are programs out there that can resize multiple images at once. One such handy program - and free too! - is the aptly named mir.NET - 'mir' meaning Multiple Image Resizer - the .NET part means that it requires the .NET Framework to be installed on the computer - if not there is a complete with .NET version available.
This being a first draft rough guide I wont go into the how-tos of using mir.NET, it is very easy to use. I may do that later when I get more time. For now I'll assume that you have used it to now resize all images to be 150px in height.
Now, this means that all the widths have changed for our example 5 images to approximatly :-
87x150, 137x150, 139x150, 100x150, 182x150
Ok, we're getting there, we have all images at 150px in height, we now need to get all the widths the same.
Step 2 - Resize all images to the same width, without changing the height.
For the first 4 images in our example 5 images this is easy. Using another paint program - I used Paint Shop Pro 7 for this - we resize the 'Canvas' now to 150x150, if neccesary choosing options to keep the image centralized.
You may notice though that the last image, number 5 in our example set has a width that is still above our 150 maximum so we perform an extra action on this one, we resize the width to 150 using PSP 7 or mir.net again if you like - meaning that image number 5 will now become approx 150x124.
Now we can perform the 'Canvas resize' on this image like we did with the other 4, making the canvas 150x150 with centrlized image.
Summary
And there you have it, 5 images of varying widths and heights all now at 150x150 and no distortion of loss of quality. Programs like Oscommerce will now happily display these images at full size 150x150 and thumbnailed at 75x75 also without distortion.
This has been a rough guide miniTutorial brought to you by ipv6guru - who promises to extend it sometime soon and add example images along the way so you can see what has been explained here.

