Thanks for all the quality replies!
I'm currently exploring C#'s string manipulation functions. Being a more modern language definitely has it's advantages. I've done well manipulating strings in AutoLISP (well usually... had some battles too...) but in C# I can do a lot more with a lot less code.
The potential with WinForms and WPF seems quite high as well, but comes with a very steep learning curve (at least for me).
I'm also finding that you can't just start writing code like with AutoLISP. You actually have to organize your code properly (learnt that lesson the hard way after moving a file in VS), learn about the different Framework versions - which to use and when, and in general, understand at least the fundamentals of software architecture. With AutoLISP I had next to no clue what I was doing when I started but somehow still got very useful routines working
I jump between all of them, depending on the task, I would charge the same hourly rate regardless
That surprises me as there aren't too many C++ developers out there. But I guess if someone wants that sort of development you'll also be justified in logging far more hours compared to the more managed API's. Sometimes I day-dream about learning C++ but C# is proving to be more than challenging enough.