I'm not entirely sure what you mean but the shader I am using (although the black effect occurs with other shaders as well) is the BCS script shader from the screen_shaders demo:
uniform float brightness=0.8;
uniform float contrast=1.5;
uniform float saturation=1.8;
vec3 c = texscreen(SCREEN_UV);
c.rgb = mix(vec3(0.0),c.rgb,brightness);
c.rgb = mix(vec3(0.5),c.rgb,contrast);
c.rgb = mix(vec3(dot(vec3(1.0),c.rgb)*0.33333),c.rgb,saturation);
COLOR.rgb=c;
Adding the shader to different types of nodes (sprites, texture frames, texture buttons etc.) or in different canvas layers makes no difference. (Note that it does, in fact, work when stretching within the actual screen resolution.)
The work-around described in my original post is needed to display the pixel art without distorted or skewed pixels. The shader is intended to allow brightness settings.