The main difference between C# and VB is that the former is a coding language, while the latter is a scripting language. They operate very differently when they are run. The syntax is probably somewhat similar, which I believe is what Bob was trying to say.
Yeah, they're similar in terms of straightforward syntax and object-orientation. They also both rely heavily on Microsofts .NET library, so a lot of functions are very similar. I'm not entirely sure I agree with you on VB.NET being a scripting language though; it seems to be designed more to be a combination of scripting/programming. VBA is the scripting equivalent (it's what scripts for Excel etc are written in), whereas the VB.NET is more commonly used for creating applications. It could be argued that it's better for scripting than programming though; I haven't used it much, so I can't really say.
I have looked at VB.NET script before, and if its appearance is any indication of how VB looks, I'd have to disagree on the similarities in syntax. Someone coming from a VB background would have just as much trouble switching to C# as something like Java (after all, C# is often regarded as Java in disguise).
Yeah, I wouldn't necessarily say C# is easier than Java either. Coming from VB.NET it probably would be, due to the similar libraries, but in terms of syntax and the way it works, it is very, very similar to Java.
If you really wanna have fun, learn C. It's one of the most powerful languages out there because of the things you can do with it that higher level languages, even those based on C, don't allow. Just be prepared for weeks of banging your head against the wall. =D
I wouldn't recommend C myself, unless you
really need the fastest performance you can possibly eke out of it. And since you've been using VB6 up to now, that clearly isn't the case

Java is one of the main languages used in programs today, mostly because of its portability. You can run Java on anything. Eclipse is also among the best IDEs available, with tons of plugin support and cross-platform compatibility. It's definitely one of the best languages to learn, but not quite the easiest, because of the damn verbose syntax. Java's main drawback, aside from the verboseness, is the requirement of the Java Virtual Machine (JVM) and Java Runtime Environment (JRE) in order to run anything Java, and the just-in-time compiling method it uses that drops performance a bit. The JRE and JVM will install themselves when you install Eclipse, though.
Personally, the syntax is one of the things I like about Java. Sure, it might take a little bit longer to type, but it's a hell of a lot easier to read than the mess of abbreviations and symbols you get with C/C++. Agreed on the benefits/drawbacks though. the JVM means it has a lot of really cool features, but it does come at a cost. The performance hit for most things isn't quite as bad as a lot of people make out though, and it is possible, in very specific circumstances, to get Java code to run quicker than the native C/C++ equivalent. That's not common though.
Ruby is also an excellent scripting language to learn. It's beautifully made and is designed to take whatever you throw at it. Your best bet is to use Linux for it, though. Eclipse has a plugin for Ruby called Aptana, which can also be installed separately. It is, however, heavily resource-intensive, and is one of the worst performing scripting languages out there. It's the price you pay for one of the easiest languages to use.
Never used Ruby, so I can't really comment on how good it is. Definitely an option to consider though.
On C# - as mentioned already, it is a Microsoft language. It's basically what Microsoft created in order to compete with Oracle's Java, and the two operate fairly similarly. If you have experience programming in one, you will be able to pick up the other much faster than usual. I haven't seen enough of VB code to really say if you would have a hard time changing to C#. I would, however, start with Java first, and move on to C# when you're comfortable with it. Java, after all, has far more support, whereas C# is largely limited. The main use of C# is backend server code on .NET applications.
This is true; in terms of compatibility and widespread support, Java blows C# out of the water. But, the Mono runtimes are very good, and it is more than feasible to use C# (and indeed VB.NET) for projects that aren't intended to run on Windows. It's a viable platform for Linux, Mac, and Android development. Java is also a viable platform for all these operating systems, of course, and is more widely supported in environments outside Windows (largely because it works exactly the same in almost all operating systems).
C++ is another option for you. Another Microsoft product, but this one has more Linux support than C#. The code you produce in C++ is generally very efficient, but it draws very heavily from its parent language C. C++ simplifies a lot of things though, and has some elements of OO programming, but it is not as heavily OO-oriented as pure OO languages like Ruby and semi-OO languages like Java and C#. C++ is a good stepping stone if you have any intention of learning C but have come from a more OO/scripting background.
I'd avoid C++ too, for the same reasons as I'd avoid C. Horrible syntax, poor OO support (compared to Java/C#), and very platform specific. It is generally more efficient than both of those, it's true, but only if you're able to write code in it well, which is a lot harder than with C#/Java. Not to mention you have to deal with pointers etc too, and there's significantly less in terms of pre-included functions and libraries to use.
I personally have not yet learned Python or Perl, but I have intentions to learn them. Both are excellent languages, but Perl depends heavily on Regex, and is therefore not as friendly to the newbie programmer. I have heard good things about Python and its learning curve, not just from rkruger. Keep in mind though that Python is also a scripting language, so its performance leaves much to be desired. On the other hand, since you come from a scripting background, running Python should be a snap.
Same comment here as for Ruby. But Python and VB are totally different; they have almost nothing in common, in my limited experience with Python. Though I've heard many good things about it, so it might be worth looking into all the same.
Anyway, those are just a few things to think about on the language you choose. If you don't want to think about it, then Java is probably your best choice. If you're going with Ubuntu or Mint, just run the software center and install Eclipse, which requires a download of approximately the size of a CD. Eclipse will handle all of the background management most of the time, so you should be able to create something and run it without having to do anything else (except maybe selecting your workspace, which is your default save location for all of your projects). It's pretty much the same on Windows. If you're using some other Linux distro, you'll probably have to install Eclipse from the command line, but it should come with a GUI regardless.
Agreed that Java is the simplest to get going with. Also agreed that Ubuntu or Mint are probably the best Linux distros to use for a Linux beginner to program in (though you can always just use windows if you're using Java). Personally I can't stand Eclipse though - it's slow, hugely bloated, and fairly unreliable. It's been a couple of years since I tried it, but it was fairly buggy. And it completely overwrote the JDK I had installed with its own custom libraries which broke everything else I had set up

Netbeans is the "official" Java IDE, it's a bit more lightweight than Eclipse, and tends to be more stable (in my experience). But both are very popular IDEs, and both have their good and bad points, so my advice is to look at both and see which you like the look of most.
Android programming is a mix of Java and XML. It doesn't use its own language. In fact, most mobile devices support Java, and development for mobile devices is almost always done in Java. If you want to code for Android, make sure you're very familiar with Java first. Knowledge of XML is also useful, but Eclipse has some XML tools that should prove helpful if you're not very comfortable with it. There's an Android SDK and plugin available for Eclipse as well, but the Android Virtual Devices are a bit of a pain at first to set up.
Android programming uses Java, but from my limited experience with it, the way programs are organised is totally different. In fact, the way the entire OS works is totally different, not just because you're dealing with touchscreens but because of the way applications get paused when they're in the background, shut down at random to save memory, etc. There's a bit of a learning curve even if you have experience with Java. It looks quite interesting though, so if Android is a viable OS for your device, it could be worth checking out. Linux would probably be better though.
Mono also has a runtime and compiler for Android, so you can program for it in C#. No idea how well that works though, or how well it's supported. Probably not worth the effort tbh.