Issue with SoftwareSerial library and repeated input characters? [SOLVED]

The empirical program:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(8,9);

void setup() {
  Serial.begin(2400);
  mySerial.begin(2400);
}

void loop() {
  if (mySerial.available()) Serial.write((char)mySerial.read());
}

exhibits the same behaviour using HyperTerminal / SoftwareSerial (I tried several input pins on both Uno / Leonardo), but is fine with a hardware serial port.

I tried using a Win7 machine (with hyperterm.exe / hyperterm.dll copied from WinXP) as well as a standard Windows XP machine.

Using PuTTY, there is no problem.

If the same character is repeated three times, the third character is the ASCII value +128, and then subsequent characters alternate between correct and +128.