After thinking it over I came up with 2 ways of approaching the problem on a theoretical level. Basically: regression first and then catagorization or vice versa.
With regression first you could rescale the training-values to be from 0 to 1, instead of from lower limit to upper limit. For the values out of range, you could set the values below the measurement range to 0 and those above it to 1. Then you could do regular regression with a sigmoid output function. After training you could set 2 thresholds, using a categorization algorithm, to split the output in the 3 groups.
So to predict a value you first run to through the regression algorithm. Then compare the output of the regression (which is between 0 and 1 due to the sigmoid) to the 2 thresholds found through the categorization. If it is between the thresholds, just take that value as the continuous prediction. Then rescale to get back to the appropriate range.
If it is above the upper threshold or below the lower threshold, categorize as above or below the measurement range.
The second approach is the other way around. First categorize the data into the 3 groups and then use ordinal regression to predict for a given value in which group it is. Then apply regression on the examples that are in the middle group.
I expect the first approach to have less accurate categorization. This will be caused by the fact that a training-example at the very low end of the range and an example below the measurement range will have very similar target values. However I expect the second approach to have less accurate regression for the middle group. Since the first approach can also use the features of values below the measurement range to determine which training-examples have a very low output (and similarly at the high end of the range).
My advice would be to try both and compare them. Which is better will be determined both by how well they perform in practice and how you value categorization errors versus regression errors.