What about wrapping in a continuous loop?
What I am looking at is 2x the maps if I have more than one.
I suspect 4x if I double buffer with one 8x8 and one 4x8 tile
To explain the last solution more plainly.
If you think about just scrolling in one axis, you just need to duplicate one screen.
If the map scrolls like 1, 2, 3, 4. Then, you just need to do 1, 2, 3, 4, 1.
When you get to the last 1, you can jump back to the first one, and it continues.
You can do the same for the other axis.
To explain the last solution more plainly.
If you think about just scrolling in one axis, you just need to duplicate one screen.
If the map scrolls like 1, 2, 3, 4. Then, you just need to do 1, 2, 3, 4, 1.
When you get to the last 1, you can jump back to the first one, and it continues.
You can do the same for the other axis.
A possible disadvantage of this approach may be if the map has updateble elements (a bridge that can be destroyed for example). Then it has to be updated on two places, if the element is in the repeated portion (1 on the above example).
Indeed that has to be updated twice in this case. But that's a very common approach. I use exactly this replication technique in my "The Menace from Triton" game, and for enemies / items / scenery that is updated in the part that is replicated, I just update it twice. It's not too complicated, and the benefits of being able to do easy scrolling totally make up for having to copy things twice some times