I think the most natural way to fix the problem is to use "otherwise" statements.
In Mathcad a program is only allowed to return values of equal dimensions for all cases. E.g. you can't write a function which returns a length, if the argument is 1 and an area if the argument is 2. The way you have written your routine it may happen, that the line which assigns klr is the last line evaluated and so klr would be returned. klr is unitless and the other possible return values are of dimension pressure and that doesn't work. Using otherwise statements makes it clear to Mathcad that all cases are covered and klr will never be a return value. Its also good habit to use explicit return statements.
See the attached file for a few ways to handle the situation, also covering your question about the assignment of klr in case of the nested if functions, but I in no way would recommend using that confusing display.