The command surfcolor does not color surfaces. Commands that color surfaces include color, scolor, rangecolor, and rainbow.
Instead, surfcolor sets the coloring source (effectively the level at which coloring is defined) of a molecular surface, where source can be byatom or bymodel. The color of the surface does not necessarily match the color of the items at the same level, since at each level the "self" and surface color assignments may differ (see coloring hierarchy). If no model_number is supplied, all open models will be affected. The model_number(s) should be preceded by #, as in a normal atom specification.
For surface color to be visibly controlled by the command color, the surface color source must be atoms. Surface color source can also be set in the molecular surface attributes panel. The source is normally atoms unless changed specifically or as a side effect of custom coloring (for example, using scolor).
See also: modelcolor, surface