So I think the problem is that you have the thrower right next to the primer pad. How the code determines what direction to launch things is to check the line between where the grenade came from and where it landed. Since the thrower is so close and the arm swivels to do the throw, sometimes clockwise sometimes counter clockwise, it sometimes ends up throwing up or down. Here's a very crude drawing of what I mean
When I placed the thrower 2 tiles away from the primer pad it worked just fine.
The other issue with placing a thrower so close to its target comes in because the inserters move so fast. I check the throwers every 3 ticks to see if the arm is passed the half way point to start the throw, at which point I calculate when the projectile will land to trigger its effect. But because the thrower is moving so fast, it's already right on top of its destination when the check comes around, so it releases the item and calculates an instant travel time which is so fast that it doesn't have time to check for the landing before the landing happens, which is probably what's messing up the overflow preventions. I'll have to think more about this part.