Ich habe das gleiche Problem mit C#. Mit Putty oder dem Seriellen Monitor bekomme ich Daten vom Leonardo zurück. Wenn ich jedoch mit C# Daten schicke bekomme ich diese nicht. Das ganze ist wirklich sehr seltsam.
Auf dem Leonardo selbst habe ich nur ein kleine Programm das einfach ein ankommendes Byte ließt und direkt wieder zurück schreibt.
Was ich auch schon gemacht habe ist zu schauen das die Daten am Leonardo an kommen, was der Fall ist, da ich je nach empfangenem Zeichen einen Ausgang ein bzw. aus geschalten habe.