You could try casting the value column as a numeric datatype before doing the comparison, like so:
SELECT *
FROM YOURTABLE
WHERE CAST(VALUE AS INT) BETWEEN 100 AND 110
This will ensure that comparison is done on numeric values, not text.
If you are passing parameters of VARCHAR
data type as parameters, you will also need to explicitly cast them like so:
SELECT *
FROM YOURTABLE
WHERE CAST(VALUE AS INT) BETWEEN (CAST @Lower AS INT) AND (CAST @Upper AS INT)