Okay, this is interesting... I revisited the site using Chrome to see if I could see if that JS file was executing correctly, and this time, the code showed all of the images (and doesn't appear to be using my template), even though it only did one at a time earlier (I even tested with multiple images in the gallery). It generates the code for the entire list item, img tag and closing tags and all, when it does this.
I hadn't changed anything since I posted last, but had to clear Chrome's cache and do a ?flush=all on the page for it to use the right template (both for my last response and for now). And, of course, it's now generating the list item correctly, though sans the "gallery-layout loaded" class assignments.
So far, this has been an issue exclusive to Chrome. The imagegallery_init.js loads correctly in Firefox, but not in Chrome for some reason.
I did notice that Firefox's Web Developer extension doesn't like your if statement in imagegallery_init.js. It kicks back the warning "test for equality (==) mistyped as assignment (=)?", but I tried "==" and Firefox would do the same as Chrome (never load the image, and sit with a spinning wheel and never assign the "loaded" class to the list). Given the behavior (not to mention the same use of "=" in an equality check in a jQuery file), I assume the "=" is correct? Why, then, does it kick back a warning? I'm still learning JavaScript (particularly more advanced stuff), as my stuff usually has things like loops and if statements in server-side code (and every other language I've used uses "==" for equality checks, so JS's behavior strikes me as odd).
(On a side note, it appears that a line in your ImageGallery.css file is missing a semicolon. The color declaration in "#pagination-imagegallery a:link, #pagination-imagegallery a:visited".)