Agreed, but I don't think it's an issue, as CB doesn't use negative stats.
It does for Haste and ST; if you get drained to -10k, then have a bow in melee, you get put back to -4k. Then if you have a 10k haste you get put back to 1k DX, instead of -5k.
I think Haste and GS should just be calculated this way. Calculate effect, factor EC into DX and ST. If they are below 0, set DX/ST equal to Haste/GS effect. Otherwise add them to the resulting DX/ST.
It'd be a nice little buff to Haste/GS