With the geometry-related issues mostly ironed out, it was time to figure out why so many poly spans were using the wrong RGB555 color. Of particular note was that my chosen tank color was stated by the game as being "blue", when in practice it seemed to have a distinctly more psychedelic style going on.
As it happens, bitwise operations on accumulator registers are also subject to saturation logic. Since the DSP56156 uses a number of left and right shifts and bit-masking across the full 40-bit width of the B accumulator in order to construct the desired RGB555 value from an RGB888 value pulled from a table in program memory, getting this behavior correct was critical in order to not end up with mangled color channels.