Mario told me to make this ticket. The situation has already been discussed on Discord, so I will only give a basic recap here.
I first found out about an issue when I found that running ACE Radio Dev on a Diag server prevented clients from joining due to proto checksum mismatch (group 4 reason 8) which was quite odd.
Initial discussion with Kex: https://github.com/acemod/ACE-Anvil/issues/550, we came to the conclusion that it must be a weird issue with the game that can happen when using the ENABLE_DIAG flags with the diag EXEs, possibly only in some modded contexts. Does not seem to affect non diag applications.
I then found out that when you run both diag server and client explicitly with -scrDefine "ENABLE_DIAG" , there wasn't a mismatch anymore. Only one of them is not enough.
Later Mario chimed in on the ARMA Discord and essentially said it was because ENABLE_DIAG was only set on the diag client and not the diag server. This didn't really make sense to me for a few reasons, first of all because ENABLE_DIAG is used in the vanilla scripts a lot and doesn't cause such an issue and secondly because of the manual define I tested (see the previous point). If this was the case, then simply adding the ENABLE_DIAG define to the diag server would have made the issue disappear. Instead, adding it to both is required which makes no sense because the diag client already has that flag.
Also, none of this happened before 1.9, this is a new issue.
Mario also said that actually, ENABLE_DIAG should only be active on the diag client because it is not for "diag application" but "diag visualization" and does not exist on the diag server application (which is true as of 1.9, might have been different before, not sure). And instead, ENF_WB should be used which was identical to WORKBENCH (active in Workbench, diag server and diag client).
Then it turned out ENF_WB is not actually identical to WORKBENCH, because the WORKBENCH is not active on diag server, only ENF_WB is, which Mario was surprised by.