No you see Fallsburg you're not considering the offset. Ok imagine your map looks something like this:
00010
01111
01222
11222
0 is ocean, 1 is sand, 2 is mountain. In your version 20 tiles are drawn to the screen per terrain type. In my version only 12 per terrain type.
Now to keep things clear, lets call the tiles being drawn to screen rects, and the tiles in the underlying map tiles. As you'll see the two are different, which is what makes the algorithm different.
So we have the map and now were going to draw it to screen. Ocean is laid down first, no need for transitions or what-have-you since its the background/bottom. Now we draw the first rect. The first rect is the intersection of the tiles at coordinates (0,0), (1,0), (0,1), (1,1). The tile values for this rect are 0, 0, 0, 1. This corresponds to case 4, so we draw the sand texture at case 4. The next rect to be drawn to the right then is the rect which intersects tiles (1,0), (2,0), (1,1), (2,1), with values 0, 0, 1, 1. This would correspond to case 12. The next tile to the right has coordinates (2,0), (3,0), (2,1), (3,1), with values 0, 1, 1, 1 which is case 14.
The case values for sand then drawn to the screen would be (in hex to keep formatting easy in text):
4CED
6B33
E900
The '4' rect straddles the first 4 map tiles. The 'C' rect straddles the next 4 map tiles. The '4' rect and the 'C' rect touch along their left and right edges respectively. The '6' rect and the '4' rect touch along their bottom and top edges respectively. Is this starting to make sense or perhaps a visual...
Or maybe consider this random image from google:
I'm not sure why there is an a and b, and ignore the Q's. But imagine that the tiles in the map are the solid shaded boxes, and the rect being drawn to screen, is the box with a dotted edge. Each drawn rect intersects 4 map tiles. Because of this there are no edge cases to consider, only corner cases. In fact the edge cases aren't even needed because they are already taken care of implicitly.
The only real draw back is that you 'lose' 1/2 a tile on each edge of the entire map, but this is really a negligible drawback.