Ich würde mich näher mit C# befassen (und damit mit .Net). Von den verbreiteten Sprachen bietet C# denke ich den meisten Syntax Sugar, und das ist es ja im Endeffekt, was das Leben eines Programmierers schön macht
Mit USB habe ich noch keine Erfahrung in diesem Zusammenhang, alle anderen von dir genannten Punkte sollten kein Problem darstellen. (Gut: plattformunabhängigkeit als "kein Problem" zu bezeichnen ist vielleicht übertrieben, möglich ist aber auch dies definitiv).
Leo S.