It's solved!
I suddenly realised, after spending ages looking at the Aperture crash reports and doing other testing, that I'd completely forgotten to see if there was any useful Console output when Aperture crashed. So I had a look and found a very revealing line associated with each crash, saying:
"Custom ColorPicker class with name .DS_Store could not be loaded."
I wouldn't have expected colour pickers to be involved when merely opening preference windows that apparently don't use them, but removing the custom pickers seemed the obvious thing to try, and did indeed cause the crash to go away. So I narrowed down the search and have identified the culprit as the RCWebColorPicker which can be obtained from here:
http://www.rubicode.com/Software/RCWebColorPicker/
I had version 1.0 installed and found that a 1.1 update had been issued, so I attempted to download it. It turns out that the link to version 1.1 is actually broken and just leads to a 'not found' page, but after a brief experiment in editing the URL, I found that the following works:
http://www.rubicode.com/Downloads/RCWebColorPicker-1.1.dmg
However, version 1.1 suffers from the same problem as 1.0 (i.e. it upsets Aperture), so I mention the above just in case anyone's interested in investigating further. Obviously I wouldn't recommend installing it at present! Source code to the picker is actually available on the site, and I'm going to email the author to let him know about the problem.
The interesting thing is that I've had this picker running fine under Tiger since last year and it hasn't caused a problem with Aperture in the past, so the problem behaviour is new to Leopard.
My thanks to everyone who offered help here, and to the Apple programmer who emailed me privately.