Can't you do this technically to get the same effect?:
osgEarth::ImageLayer* copyLayer = new osgEarth::ImageLayer(originalLayer->options());
Pretty sure it'll work with any type of layer that accepts the options() as a constructor argument.
I've been doing this to make a layer per camera/viewer and then cull the layer on a per camera basis through an osg userValue attribute for the given camera name and a callback I've installed on each constructed layer. This worked for me. But Glenn is right, there's no such thing as doing the osg::CopyOp::DEEP_COPY_ALL the way you normally would with nodes in the scene graph.