Displacement maps and normal maps are calculating the differences between the lowpoly mesh and highpoly mesh. If you try to generate your maps at the highest level then there is no difference, hence no map.
When you’re using displacement maps you’re going to use the map to create all the changes in the geometry at render time. Basically, the LP mesh has the displacement map applied which the render engine reads and creates a higher poly version of the mesh at render time. The map tells the engine which areas are higher and which are lower…or displaced from the surface. We use these maps because it’s easier and faster to rig, animate, navigate around a mesh that is 10,000 polygons vs a mesh that is 20,000,000 polygons.
Normal maps work in a similar fashion, but rather than creating geometry at render time it is telling lights how to react to the surface during real time…or render time if you prefer to use them.
You typically want to export your meshes at the lowest subD level, but sometimes this isn’t the case. Mainly, whatever level you generate your maps at, is the level you want to export to another application.
There are times when you want to calculate a displacement map at the 2nd to highest level…typically this map will be used as a bump map instead of a displacement map. The reason we do this is because it can speed up your render times to have the major shape changes happen in the displacement map and smaller details be handled by the bump or normal map. The reason it speeds up time is a bump map is faking geometry, while a displacement map is actually creating it during render time. The displacement map/shader is actually dividing your mesh at render time to allow for changes to the geometry. The more details you want in your displacement map, the more you need to divide, the longer it takes.
Texture maps…diffuse maps we’ll call them, should always be created at your highest subD level. The reason for this is Zbrush uses polypaint (or vertex painting) to color your mesh. Each point of the mesh can hold 1 color and only 1 color. So the more points in your mesh the more colors you can have on your mesh. It may help to think of each point as a pixel in a rasterized image. You can also try to paint on a plane that only has 4 points on it. You can see how vertex painting works between each of the points and the gradient that is applied.
Hope that helps.