Having multiple OUT coils across multiple "mutually exclusive" Stages is not just normal, but a powerful feature of Stage.
OUT coils inside an enabled stage will automatically turn OFF once the Stage is disabled, like via a JMP or a SGRST. No need to use SET/RST on the OUT coil bit. As long as the stages they are used will never be enabled simultaneously, the OUT coils will behave exactly as you desire.
The Program Check Message is just letting you know that this specific OUT coil is used in multiple stages. If the stages are "mutually exclusive", that is never enabled at the same time, you are fine. However, this message is just to let you know that, say you are using OUT Y22 in SG S1, S2, and S4 (and they are in that order in your code-block), and SG S2 and SG S4 will be on at the same time (this can be done using SGSET or SGDIVRG), then the OUT Y22 input logic rung in SG 4 will "win" since it is "later" in the scan.
SG S1
STR X0
OUT Y22
...
SG S2
STR X1
OUT Y22
...
SG S4
STR X2
OUT Y22
If S2 and S4 are both enabled, and X1 is ON, and X2 is OFF, Y22 will be "ON" for a small part of the scan (from the OUT Y22 instruction on SG S2 because X1 is ON) then turn back OFF for the remainder of the scan (from the OUT Y22 instruction in SG S4 because X2 is OFF). So then, at the bottom of the scan, when Outputs are updated, Y22 will be OFF.
Typically, though, S2 and S4 are part of a "sequence" and will NOT BOTH be enabled at the same time. So Y22 will be ON or OFF based on ONE rung state (the one in S1, S2 or S4), or will be OFF if NONE of those stages are enabled.
So this Program Check message is just making you aware that it's probably OK, but you need to be sure the stages are "mutually exclusive", otherwise "last one wins".