Subcharts/atomic subcharts can be thought of as Stateflow's version of subsystems/atomic subsystems. In this way, they mirror in terms of function and non-functional effect. Subcharts (like virtual subsystems) affect only the readability/organization of the chart. Atomic subcharts on the other hand, create re-usable components which affect both model compilation time and code generation. See here for an overview of atomic subcharts:
Atomic subcharts add to the cyclomatic complexity because they count as new components. See here for reference:
Please run the below in the command window of installed MATLAB R2018b version to get release specific documentation
web(fullfile(docroot, 'slcoverage/ug/model-coverage-for-stateflow-charts.html'))
However, in many cases the benefits of having such charts outweigh the uptick in complexity. At any time, you can check your complexity using the Model Advisor ("By Task" > "Model Metrics"> "Complexity Metrics").
As for your specific warnings, na_0038 is recommended for readability and na_0040 is recommended for both readability and code generation organization. In terms of the code generation, atomic subcharts can create code for the standalone component, potentially making the generated code easier to trace and debug. See below for reference:
Please run the below in the command window of installed MATLAB R2018b version to get release specific documentation
web(fullfile(docroot, 'simulink/mdl_gd/maab/na_0038levelsinstateflowcharts.html'))
Please run the below in the command window of installed MATLAB R2018b version to get release specific documentation
web(fullfile(docroot, 'simulink/mdl_gd/maab/na_0040numberofstatespercontainer.html'))