I don't think so. The following is allowed by R7RS: (eq? (lambda (x) x) (lambda (x) x)) => #t.
You're right. What I should have said is that (let ((f (lambda (x) x))) (eq? x x) must be #t in R7RS, whereas it can be either #t or #f in R6RS.
It's not guaranteed by R6RS and won't be true in general. For example, an R6RS implementation of SRFI 1 could implement `xcons' for efficiency reasons as follows:
You could, and when someone does, I'll be happy to retract that. Similarly, when someone implements (set! x 0) to return zero or two values, I'll be happy to retract my claim that in practice R6RS procedures that are defined to return unspecified values in practice return exactly one value.