Easy questions are my forte (usually).
Never got a BIP that way so I'm not sure. This BIP has two versions depending on units so perhaps that is an issue i.e. Lookup function trys to return the wrong one for the units of the template? Should use the Revit Lookup tool to get an insight into what the parameter is doing in the database.
For this built in parameter associated with the view element you should really use the Element.Parameter(BuiltInParameter) overload to get it. This parameter will only be attached to certain types of view such as ViewSection. So, you’ll have to check the view type first as part of the procedure. Depending on if the project is imperial or metric you’ll use one of the below built in parameters.
SECTION_COARSER_SCALE_PULLDOWN_METRIC (-1006613)
SECTION_COARSER_SCALE_PULLDOWN_IMPERIAL (-1006614)
The storage type is Integer and will return the whole number denominator of the scale but AsValueString will return as you would expect. As you are likely aware, this BIP is not related to the viewscale of the view it is on.
Getting parameters via BIP also has the advantage that it is product language independent.