Q1: No, you need to create each Layer that you might use. If you specify a go:Part.LayerName that does not exist, it uses the Layer with the default name, an empty string.
Q2: The initial set of DiagramPanel.Children is described in the GoXamIntro document or in the documentation for DiagramPanel.InitializeLayers(). You can insert or remove Layers from the DiagramPanel.Children collection as needed. You can even specify the initial set of layers in XAML by customizing the Diagram.Template.
So, I think I get it now. First, I have to create new layer class, second, need to insert it into myDiagram.Panel.Chidren, and Third, associate the layer with nodes. And I guess first inserted layer is on top the later.
To be more precise, you want to create an instance of NodeLayer or LinkLayer, as appropriate, and then insert it at the desired Z-order of the myDiagram.Panel.Children.
Your support is very nice, thank you!