programmable bms like the one i linked to can simply be set to refuse charging or discharging at certain temperature ranges, so it can be just disabled if you try and charge it at below freezing or above 40c for example.
setting the right voltages so it wont exeed limits is part of protecting yourself against undue warranty claims.
still, if customers mistreat a battery it simply means they have the wrong one for the task. generally i make a note in the final invoice that excludes warranty claims due to exessive use/wear in case customers dont want to take my advice and upgrade to a properly sized battery. this usually makes it also clear to customers that they are willingly killing their expensive battery and i am not willing to play their game and replace worn out ones.
some also tend to complain about this specific line even after i warned them about it that i can legally refuse warranty claims as they are planning to abuse a battery and EU laws allow me to refuse their claims. something that already happend by a specific customer that also tried to pull the same thing with another company and they did gave him a free replacement once after i asked them about this specific customer. turns out he was simply riding warranty claims for years as he was too cheap to buy a battery that was sized for the job. i countersued him for every penny i had to spend dealing with this guy and had gotten a signed affidavit from the other company proving he did it on purpose. in the end he was forced to pay me back and pay a fine for filing false claims.
so yea, ensuring you have a battery system that protects the battery well is also needed to protect you as a builder. and having logging and a huge option list to program the bms to protect both the battery and you is vital as warranty claims are simply not worth it due to the cost for you as a builder to make a replacemt battery. id rather spend more (that i simply add tot he final price) then get stuck with a bill for 500 replacement cells and no profit.