Executive summary version: To fix the problem, I had to export all affected rolls (starting from the earliest "trouble" roll date up through the present) from iPhoto, delete them, reimport them, and then reapply my keywords to those rolls. A royal pain, in other words. I used a couple tricks to save some time. I first used this hint (and its comments) to create a bunch of folders in the Finder named "Roll nn," so that I could then drag each iPhoto roll out into an identically named folder in the Finder. To save time on import, I dragged a whole selection of folders from the Finder and dropped them on iPhoto's dock icon -- iPhoto would then create a new roll for each dropped folder. I did batches of rolls, about 30 at a time, checking the Last Roll import after each batch to make sure it still worked. Over the course of two or three days, it probably took about five hours' work to reimport and re-keyword something on the order of 6,000 images. Ugh.
The moral of the story? Even though I had a current backup, I hadn't actually verified that everything was working right before creating the backup. So my perfect backup was so perfect that its Last Roll feature was also broken. If anyone has any suggestions for an easier recovery method, please post them. And if you're interested in what troubleshooting steps I took, as well as how I figured out which rolls were causing the problem, read on...
I first used iPhoto's ability to merge rolls to figure out which rolls were causing the problem. Let's assume my iPhoto Library consists of 200 rolls, displayed with the newest (#200) roll first. The Last Roll feature was showing roll #95 from December of 2005. To figure out how widespread the problem was, I selected every roll from #95 back to #1, and then dragged them into a newer roll (#96) that was after the apparent Last Roll cutoff point. Then (after waiting maybe 30 seconds for iPhoto to combine thousands of images into one mega-roll) I looked at the Last Roll feature -- and found it worked! Then I used Edit » Undo to reset everything, and this time I only merged half the older rolls (say back to #47), and checked Last Roll again. If it worked, I cut the sample in half again; if it turned out to still be broken, I added half back to the sample.
Using this (tedious) process, I figured out that it was the rolls created between February 2005 and December 2005 that were causing the problem. As long as all of those rolls were merged into another, my Last Roll feature worked fine. In order to solve this problem, I figured I had to re-create those rolls ... but in order to make Last Roll work correctly, I would also have to re-create any newer rolls, otherwise they would then become "older" than the old rolls I had reimported. Ugh. Out of 10,500ish images in my library, this means I wound up redoing nearly 60% of my library. In the end, though, it was worth the effort: the Last Roll feature works fine now, and I have a high degree of confidence that whatever caused the glitch has been zapped -- I suspect that iPhoto's internal roll tracker was somehow corrupted.
Before I got to my manual solution, here are some of the things I tried in order to fix the problem:
- Total iPhoto Library rebuild (Command-Option and launch iPhoto). No change.
- Copied the entire 45GB iPhoto Library folder to another Mac. No change.
- Used plutil to check iPhoto's preferences file for errors. None found.
- Trashed iPhoto's preferences and let it build a new set on launch. No change (after pointing it at my library again).
- Turned the Last Roll feature on and off, and varied the number of displayed rolls. No change.
- Posted in a few online forums asking for other ideas. Nothing really useful came of this.

