tricky camera

I've just observed the following on my camera.  I'd
seen the problem alluded to previously and am
wondering if, like the 6 random bits, we have output
that is occuring on some cameras and not others.
As follows:
in 4bpp instead of output corresponding to
0 for white thru 15 for black
I'm getting
0 for black, 1 for white thru 15 for almost black.

my & Scott's X code was working for the first case.
Are other people seeing this?  You can observe it by
cranking down brightness and whitebalance.  The image
starts fading to black but once the camera reaches black
it starts outputting 0 which is interpreted as white so
the displayed image suddenly goes all white.

This can be fixed by changing the code in qc_convertscan
that converts 4bpp image to
ret[i] = (16 - (scan[i/2] >> 4)) & 0xf;
ret[i+1] = (16 - (scan[i/2]&0xf)) & 0xf;

I'm just wondering if this is occuring on other cameras?