Why didn't you change filemodel.c: load_items_in_model()? The
for (row=g_item_offset; row < (g_item_offset + items_per_page) && row < g_total_items ; row++)
only fills the gtk_list_store with one-page of icons. The line
GdkPixbuf *thumbnail = get_thumbnail(cell);
should then only be changed to load the thumbnail from file?
If there is no image in global.db you can check if there is one in the filesystem. This would then work for the settings/global.db also I guess?
I haven't looked at this in much detail so I might be missing some details? Do the Delete-mode overlays work?