I just found this in the manual under ent_decal
Decals are rendered with the entity or block material and shader unless they have an own material. The decal texture can be accessed through entSkin1 in a shader. If the shader is not suited for a decal - f.i. when entSkin1 is used for a color mask on a multitexture shader, or when the alpha channel is not used for transparency - assign a decal material without a shader, such as mat_model or mat_terrain dependent on which object the decal is attached to.
So CODEWISE, I would try this...
...
c_trace(me.x,trace_target, IGNORE_PASSABLE | USE_POLYGON | SCAN_TEXTURE );
PARTICLE* hole = ent_decal(you,bullethole,10,random(360));
if(hit.texname) { hole.material = mat_model; }
else { hole.material = mat_terrain; }