C8 is backward, but not causing problems because is low current. But this reduces component's life.
In a first moment, the tension on serial pin3 becomes negative (almost -11v.) [logic 1 - from computer]. The node between D2 and C8 becomes negative, charging the capacitor with 0v. on GND side and negative on plus side (on original schematics).
Charged, the cap supplies negative tension to serial pin2 [logic 1 - to the computer], because this pin is signal out.
When M8TXD receives a 5v. [logic 1], T2 remains cut and serial pin2 is negative [logic 1 too]
When M8TXD is 0v. [logic 0], T2 saturates, changing serial pin2 to positive [logic 0 too].
Observe that this is only possible with pulse signals, because C8 stored negative tension just to pulse, not ilimited energy. It is always getting charged when serial pin3 gets negative. If serial pin3 is positive, the D2 diode cuts current, and don't let cap discharge.
Just for curiosity, I tested my serial Arduino with Pure Data, and when at least 2 digital pins are set to input, and you put a finger on pins, Arduino starts sending too many information throw TXD, and the cap gets fully discharged, and serial pin2 has a pulse only with more than 0v., then PD and Arduino stops communication and becomes freezed. Taking off finger or disabling pins from input state restarts communications, and everything works again.
But this problem doesn't occur on correct use of Arduino, when you use digital signals on digital pins. Data transfered throw TXD is a pulse that can't discharge C8, even on high traffic on TXD.
So, you're right, and we can use the cap on correct position (plus to GND) in our projects.
You can get some reference here, but all this is explanation is just simple electronic theory, not complicated.http://www.uchobby.com/index.php/2007/06/11/ttl-to-rs232-adaptor-explained/http://www.sparkfun.com/datasheets/Prototyping/RS232-Shifter-v2.pdf