My code uses the following language features; for each, some systems lack some features.

1 (let* ((a 2)(A (- a))) a) => 2 ; case sensitive!
2 call/cc ; the name, (not the function) is convenient
3 (if #t 7) ; (sort of important) 
4 (λ () 3) ; convenient
5 scheme-report-environment; vital
6 (define ((add a) b) (+ a b)) ; convenient way to define a curried add.
7 (expt 2 100) ; bignums are needed when they are needed.
8 bitwise-and ; an SRFI
1, 2, 4 & 6 are not required by R5RS.
7 is standardized but not required by R5RS.
1, 2, 3, 5, 7 are all in the new draft R7RS standard.
I use 2, 4, 6 & 7 only intermittently.

Which systems have which features:

mzscheme 372 & 357 [1 2 3 4 5 6 7]
http://download.plt-scheme.org/bundles/4.2.5/mz/mz-4.2.5-bin-i386-osx-mac.dmg
  MzScheme v4.2.5/bin/mzscheme [1 2 4 6 7]
  MzScheme v4.2.5/bin/plt-r5rs [3 5 6 7]
  MzScheme v4.2.5/bin/swindle [1 2 3 4 7(?)]
  DrRacket v5.3.6 [1 2 3 4 6 7]
  DrRacket v6.1.1 (#lang r5rs) [1 3 5 6 7]
kawa 1.9.90 [1 2 3 5 7]
MIT Scheme 9.1.1 [3 6 7]
Scheme 48 (1.9.2) [3 5 7]

N.B. PLT 352 & 372 yield 1/2+1/2i for (/ 1+i).

PLT Scheme

Just now (2011 Mar 28) I find MzScheme 372 performs all of the code here that I have tested. The 4.2.5. version provides some language alternatives but each alternative lacks some vital feature. The language reference
This page bears on the problems and perhaps the solution. (too)

I run MzScheme 372 as follows:

By typing “./plt-r6rs ~/test” in a shell in /Volumes/MzScheme v4.2.5/MzScheme v4.2.5/bin , the program executes the file “~/test” which reads:

(import (rnrs))
(display 42)
(newline)
and sure enough 42 appears as terminal output. This is a poor interactive environment! The environment there does not define the symbol read-case-sensitive.

There are several terms used technically whose definitions I have not found such as ‘namespace’. They are used in explaining the logic of the system.

Kawa

I fetched kawa which produces a directory. With a shell in that directory I typed:
./configure
make
java kawa.repl
I got a REPL program that failed only feature 4. I have xcode installed on my Mac. I tested most of the repository test cases and they all passed.

Exploring

Racket: They seem to have replaced ‘environment’s with ‘namespace’s which serve as the 2nd argument to eval. The description seems daunting. After an hour of study it was still unclear how to get the value:
(lambda (x) (eval x (scheme-report-environment 5))).

I have not checked this out.