Did you debug the CNTLIN= data file to confirm the SAS error diagnostic being true? That would be the first step. Yes, the presumption is that you have discrete non-overlapping START and END values to populate your format. Per the SAS documentation, this is a requirement, unless you are using other PROC FORMAT features beyond the scope of this post.
Also, your LENGTH statement is unnecessary - anyway, if it did matter for numeric variable granularity, it would need to be coded ahead of the SET statement, otherwise your input variables "could" be truncated, depending on the declared length. Though not germaine to this post, regardless it's a SAS programming habit for you to consider.
I suggest you analyze your input data, focusing on the critical variables FMTNAME, HLO, START and END.
Scott Barry
SBBWorks, Inc.