I'm not sure about the protocol on answering your own question, but I think I've figured out how to use Aperture's controls to fix time zone problems. Again, by way of background, I have 14,000 photos from a trip to Europe taken with three different cameras, each set to a different time zone. Worse, the trip straddled daylight savings, meaning the time zone shifted during the trip. And perhaps worst, Phoenix (where I am from) does not recognize daylight savings, meaning that the gap between time zones changed in mid-trip as well. I then made a bad situation worse by tinkering with some of the time zone settings on my images before I knew what I was doing, scrambing things further. Thankfully, I took a number of pictures with clocks in them, and I was able to use those as "calibration" points to determine what time it actually was when I took the various photos.
That left me with a puzzling problem -- if I know that X picture was taken at Y time in Z time zone, how do I manipulate Aperture to get the proper metadata attached to the picture. (This matters, by the way, because Aperture won't sort the pictures in the proper date/time order if you don't get this straight.)
After much trial and error, I think I have the solution.
First, backing up one step, you need two items of information to accurately describe the precise time that a photo was taken: (1) the time (i.e., hours, minutes, seconds); and (2) the time zone. (Technically, you also need to know whether daylight savings is in effect, but that information is usually wrapped into the time zone, as in the difference between Central Standard Time and Central Daylight Time.)
So far as I can tell, most cameras -- at least my cameras, anyway -- only record the time, not the time zone, meaning that only one of the two necessary items of information is recorded by the camera. Aperture resolves this by simply assuming (unless you tell it otherwise) that the time zone for all pictures is your local time zone. This works fine if you take pictures locally, but breaks down if you are traveling long distance. To fix it, you have to tell Aperture what time the picture was taken and in what time zone.
To change the time and time zone, I use the Metadata=>Batch Change command, which opens a dialogue box that allows you to enter the time zone of the camera and the actual time zone. I find this terminology to be hopelessly confusing, but as a practical matter, here are the rules that seem to govern the behavior of this dialogue box:
1. The first rule is easy: Whatever time zone you set the *bottom* box to is assigned to your photo. So if the photo was taken in London during daylight savings time, you will want to set the *bottom* box to GMT +1. (London is usually GMT 0, but adds an hour for daylight savings.)
2. The second rule is a bit more confusing until you get the hang of it: The time (hours, minutes, seconds) of the photo you are adjusting will be changed by the *difference* between the time zones you enter in the top and bottom boxes. For example, if you enter GMT -7 in the top box and GMT +1 in the bottom box, Aperture will add 8 hours to the timestamp currently on the photo and mark it GMT +1.
So here are a few special examples:
(a) What if the time is correct, but the time zone is wrong? Applying the two rules above (and I've done this, and it works), set both boxes for the correct time zone. Since the difference between the two is zero, the time will not change (Rule 1), but the time zone for the photo will be changed to the new time zone (Rule 2).
(b) What if the time zone is correct, but the time is wrong? First set the second box for the right time zone, and then set the time zone for the first box as many hours off of the second as you want to change the time. So to move it ahead one hour, set the first box for one hour less than the second. (I find it much easier to bypass the geographic time zone choices and just use the GMT time zones.)
(c) What if both are wrong? This basically the same process as (b) above. First set the second box for the right time zone, and then set the time zone for the first box as many hours off of the second as you want to change the time. So to move it ahead one hour, set the first box for one hour less than the second.
(d) EDIT: Let me add one other example for the most common situation (though unfortunately not one that occurred in my case): What if I simply forgot to change the time zone setting on my camera, but otherwise didn't do anything to create any other time problems. So for example, what if I left LA (my home) to go to NY to take photos for the weekend, and then came back -- all without adjusting my camera settings? In this case, your photos should all be timestamped three hours earlier than you actually took them. (E.g., your picture of a clock at Times Square, taken at noon, is actually stamped 9 am). So the fix is simply another application of the above two rules: First, set the bottom box to GMT -5, which is the time zone for New York. Then set the top three hours earlier, or GMT -8. Aperture will then add three hours to your photo (Rule 1) and assign it GMT -5 for the time zone (Rule 2). I mention this special case because this appears to be the one case where the use of the boxes actually seems to follow the usage pattern that Apple must have had in mind here.
Note that you do not have to do this one photo at a time. Rather, you only have to do it once for all photos that were taken with the same camera in the same time zone. In my case, I have three cameras, traveled through two different time zones, and switched time zones once when daylight savings kicked in, meaning that I had to change 12 different sets of photos (3 camera x 2 time zones x daylight savings on/off = 12). Actually, I also had to make a number of other changes to undo damage that I did before I figured this out, but 12 would be the theoretical minimum for my situation.
I should also add one warning, either a design bug or else a poor UI choice that completely threw me off until I figured it out. When you first use Batch Change to change the time zone of a photo, it reasonably fills in the two time zone boxes with your local time zone -- which makes sense, because Aperture assumes the local time zones apply unless you tell it otherwise.
But if you use Batch Change to change the time zone of a photo -- say from GMT -7 to GMT -4 -- and then go back to Batch Change to make another change, Aperture again fills in the two boxes with the local time zone, even though you've already told it that the time zone in the photo is different. This can lead to all sorts of problems if you take this literally. My advice is to just ignore these initial presets and follow the two rules above.