No protocols will break due to a changed DSCP - how they are treated by upstream devices may change however (traffic may be more likely to be dropped, or aggressively shaped), so this will need to be taken into consideration if you don't have control/visibility end-to-end.
In your VPN example, traffic encapsulated in a tunnel header will have it's DSCP values preserved.
Changing the DSCP value of the tunnel traffic (eg: outer IP header) will have no effect on checksums (checksum will be against payload, not entire packet).
In fact the default behaviour of most IPSEC VPN devices I've worked with over the years is to copy the DSCP header from the tunnelled traffic to the outer tunnel header so that it can still be identified.