Thanks again! That did it.
As for both loops running for each instance, I'm not confident enough to say I didn't do it wrong, or that I didn't do it in a terribly roundabout way, but I think it's working as intended (until I break it again).
Basically the first loop creates the tiles and transfers variables from the "map" to them -- ideally, later, this map could be some kind of text file or spreadsheet that I can import data from instead of being drawn by hand in the layout... if I were to ever figure out how to do something that complicated.
Then, the second loop from the nested function. It's no longer dealing with the map tiles. It runs through each of the created IsoTiles, this time according to the view angle: the northernmost tiles will be at the top by default, but could be at the bottom if the view has been adjusted with the (][) bracket keys.
Lastly the third loop sorts the z-order accordingly for each tile, which depends on the view angle and so has to be done last. Any time the view is rotated it redraws all these tiles again starting over at the first step, creating them from the map again. Sensible enough? Maybe? Who am I to say.