My guess is that changing the scale flips the axis (or axes if multiple), causing it to be mirrored for the bones, their positions, and rotations, but it does not mirror/flip the target position, causing the issue. That would be my guess. I’m not sure why CCDIK would work, but my guess is that it’s because CCDIK is an iterative solver and it only keeps the angle to get bone in account.
That said though, negative scaled skeletons and bones can be tricky even without IK. Unless your project needs negatively scaled skeletons, I would highly recommend keeping the skeleton at a positive scale to prevent the issue.