Machine Tool Builders such as Chevalier have many parameters available to them on a DynaPath control which specify the way the CNC handles T codes, tool lengths and diameters, as well as fixture offsets. So a Chevalier probably won't act like a Haas or a Fadal (or a Tree, for that matter). It's not right or wrong, it's just different.
I think the reason that activating tool length compensation is causing you to hit a negative limit in Z, which doesn't happen when you activate the fixture offset, is that the tool length compensation is immediate and the fixture offset activation, which is controlled by parameter, has been set to deferred.
There are a couple different ways to handle tool length offsets.
If you set your part zero point (in Z) by touching Z = 0 to the tip of the first tool, then that first tool should have an length offset value of zero. As you touch off the other tools to the same point, the offset entered in the table should reflect the length difference of each tool from that first tool.
If your part zero (again, in Z) is referenced from the face of the quill, then every tool, including your first, will have a non-zero offset representing the distance from the tool tip to face of the quill.
Not knowing the way in which Chevalier chose to set up the Z axis or how you are setting your part zero in Z, I can only guess at the cause of your issue, but I would have thought the tool length offset in your case would be a positive number. Once the tool length offset is pulled in, the position of the Z axis should be the part zero position + tool length offset. In other words, Z would need to go positive some distance to accomodate the length of the tool.