I posted a description (for lay persons) of my data logger at http://inkofpark.wordpress.com
Alright, sorry for the slow reply. There may have been several problems going on, things are now working and I'm not entirely sure what the original problem was.
I tried the level shifter, and although it seemed to work OK for running the display, it did not actually solve the problem. I switched the display from i2c to SPI, to see if that would help. In the process I moved some pins around. One surprise was that when I initialized the SD module I lost access to the DHT22. The cause of that problem was that I was using pins needed by the data logger shield for other things. I may have been doing this all along, because pins D10 through D13 (D14?) are needed by the SD card portions of the Adafruit data logger shield. In any case, changing pins away from that was the final fix that made it all OK.
For what it's worth, I'm using about 31.5 K of program memory on my Arduino. To do anything more with this board, I'm going to have to get creative!