In my opinion, when and unless in R6RS are mis-designed. If the test argument is true, they return the value(s) of the last expression; otherwise, unspecified values are returned. But you cannot safely make use of the result, because the unspecified value(s) might happen to be the same as the value(s) of the last expression. Consequently, R7RS returns an unspecified value in both cases.
I think we should simply say that the value(s) of these forms are unspecified whether the macro is imported from (scheme base) or (rnrs base).