It seems as if the first entry in the palette is somehow related. In the test palette, entry 0 is 0,0,0. If I change that (even slightly to 1,0,0) then decals come back. However, I don't know why this should be the case because other palettes, including the Doom default, have entry 0 as 0,0,0 and they work.
[edit]
OK, a bit more. Messing around with the default Doom palette, I found that if I change some of the other entries in the palette, I can affect the decals too. As you know, there are a multiple entries that are either 0,0,0 or 255,255,255 in the palette. Messing with these can affect how the grey decals show. e.g. changing the last black (the one at the end of the blue range) to 1,0,0 makes decals a little bit more translucent. Changing all the whites except the first one to colours that kind of match the range they are in (e.g. the one beside the reds was tested at 255, 250, 250) the grey decals were still there but they were so translucent they could hardly be seen.
So, my guess is that, somehow, GZDoom is using the extremes in the palette as some sort of reference for the extremes of greyscaling for the decals and when some of these entries are changed, the opacity of decals is affected.
[/edit]