I guess i did forget to mention the important part of the evaluation. You need to include both kfs as inputs in each check evaluation even though you are only using the values of one kf in each individual evaluation.
In reading your calc:
IF( "KAMLIFTCENTSOFF@PERPRODPOSPROMO" - "KAMLIFTCENTSOFFW1@PERPRODPOSPROMO1" > 0 , "KAMLIFTCENTSOFF@PERPRODPOSPROMO" , "KAMLIFTCENTSOFFW1@PERPRODPOSPROMO1" )
I interpret the @promo and @promo1 to be equivalent planning levels otherwise you couldn't perform a subtraction operation.
My suggestion is to put the kfs through an intermediate check.
checkA@perprodpospromo = if(isnull(kamliftcentsoff@perprodpospromo),0,kamliftcentsoff@perprodpospromo)
Inputs to "checkA" would be both kamliftcentsoff@perprodpospromo and kamliftcentsoff1@perprodpospromo1
Then evaluate the other KF
checkB@perprodpospromo1 = if(isnull(kamliftcentsoff1@perprodpospromo1),0,kamliftcentsof1f@perprodpospromo1)
Inputs to "checkB" would be both kamliftcentsoff@perprodpospromo and kamliftcentsoff1@perprodpospromo1
Now do your comparison:
IF( "checkA@PERPRODPOSPROMO" - "checkB@PERPRODPOSPROMO1" > 0 , "checkA@PERPRODPOSPROMO" , "checkB@PERPRODPOSPROMO1" )