One reason is, that A++ uses `lazy evaluation' mode when evaluating lambda expressions. Scheme uses `eager evaluation' mode instead, which causes our test program to loop indefinitely, assuming that the necessary adaptation to the Scheme environment has been done (translation of `lif', `mult', `sub', `equaln', `one', `zero', `five' to `if', `*', `-', `equal?', `1', `0', `5').
For further details readers are referred to the book `Programmierung pur'. (or the new A++-books published in 2018 by the tredition-Verlag in Hamburg, Germany)