LayerColor doesn't draw child nodes on some machines

I have a modal dialogue that pops up at the end of my game asking the user what they wanted to do next. I had decided at the time (being new to cocos2d-x) to use a LayerColor object to hold the dialogue, darken the background game board, and to capture keystrokes headed for the background.

This seemed to work perfectly while testing my game on my phone and tablet. However, I tripped across another device and thought I’d test it there just to be thorough. But when the dialogue came up the screen darkened as usual but the sprites for my dialogue background and buttons were missing. However, the buttons still responded to my touches so it appears LayerColor isn’t drawing it any nodes added as child nodes.

I eventually switched to using just a simple Layer but I don’t get the shadowed background that I want.

I’ve tried everything I can think of including a LayerColour at Z-depth -1 connected to the Layer that holds the dialogue sprites. This also caused the child sprites to be not drawn as if they were child nodes of the LayerColor. This one has got me stumped.

Has anybody else seen this? Am I doing something wrong with LayerColor?

    auto dialog=LayerColor::create(Color4B::BLACK);
    dialog->setOpacity(144);
    addChild(dialog,10,DIALOG_GAME);

After this I just add Sprites as normal.

These are my test machines:
Samsung Nexus S (Android 4.1.2, API 16): Doesn’t work
Matsunichi LePanII (Android 4.0.4, API 15): Works fine
Samsung SGH-T989D (Android 4.0.4, API 15): Works fine
LGE Nexus 4 (Android 5.1.1, API 22): Works fine

Any help would be appreciated.

Thanks,
/Alan