I realize I'm pointing out the obvious, but: Looking at both our screens again I notice that your tileset seems pretty exactly double the size of mine with noticable redundancy. So you seem to be extracting too much. Not exactly coding help, but well... Don't forget: It may be twice the colors, but it's only one more bit (OK, probably not helpful, but that was actually a somewhat important realization in my understanding the ASM code.) Good luck!
Mine is twice the size because I think yours was just the graphic tiles whereas mine is the tileset, as in, the map tiles, so, the graphics all assembled, flipped as needed, possible duplicates graphically to account for tiles that are different but look the same, etc.
However, your observation did point me in the right direction! My eye was drawn to that "i * 24" part, and I was going, "wait, if it's 4bpp shouldn't there be 32 bytes per graphic, not 24 like in 3bpp?" so I changed that and voila, SUCCESS!!

You guys have no idea how happy I am right now!

Alright, so, next step will be dynamic overlays (the red square, arrows, etc, to indicate the various tile properties) and then I can eliminate that whole folder of graphics ripped from FF4Tools from the package altogether! After that, I can start on the tile editor so the user can dynamically manipulate the tiles themselves (what ones have chests, their walkable properties, whatever else was discovered). In any case, discussion on those topics can go in the main thread. Eventually I'll still probably need this thread though for working out the monster graphics, weapons/spell graphics, and such once I get there.