C++ is ok, but i wouldn't go with C#, (The .net framework is bloated and ****e imo).
Personally I think Delphi is a good choice. It can do Low level stuff, or high level stuff. So it can be powerful and easy at the same time. (Its also comparable to C/C++ speed/efficiency wise).
If your aiming for cross compatibility, then either Delphi or C++ will work, but stay clear of C# (Unless you use Mono i suppose)