Dear John,
This is expected behavior of method SetColor(), which modifies color properties of already assigned material.
You may assign another material using SetMaterial(Graphic3d_NOM_PLASTIC) in advance (default material is Gold, which has physical properties; Plastic is more reliable for color customizations) to achieve more predictable color modulation.
See below Draw reproducer:
pload MODELING VISUALIZATION
box b 1 2 3
vinit View1
vtop
vsetdispmode 1
vdisplay b
vfit
vsetmaterial b plastic
vsetcolor b black
Best regards
FSR