Alright, so after having tried messing around with those values, then sleeping, then messing around some more, I've come to a conclusion:
Drawing the Earth at a close zoom requires 7055 segments. Obviously, this gets limited by some code in draw_filled_ellipse to ALLEGRO_VERTEX_CACHE_SIZE - 1. Upping PRIM_QUALITY won't do anything.
Upping VERTEX_CACHE_SIZE allows more segments, but also makes a 'cliff'. This cliff alternates between being too low and too high the more I zoom out (which draws less segments), and there's also a seam there at some zoom levels. As far as I can tell, this only happens at that specific location on the circle (0 / 2pi radians).
Lowering CACHE_SIZE below 256 just makes it look blockier, obviously.
As far as I can tell, an ALLEGRO_VERTEX_CACHE_SIZE of 256 is the optimal value. Is there any way to get more segments, while not having a cliff/seam at that specific point?
Also, I don't think having a runtime quantity would really be necessary, because it's only going to be changed by one or two people every so often, and time would better be spent on fixing up shaders and pipelines or whatever black magic you're working on right now. Allegro only takes ~10 seconds to build on my quad-core, not that big of a deal.