One thought is to try and standardize on a single language for your organization. That way your developers can more easily move across projects.
VB is easier to learn, transitions from VB6 and VBA well, and does a lot of things automatically for you (I would say that it emphasizes rapid programming over correctness). C# is a bit tougher to learn, does not transition from VB6 and VBA well, emphasizes correctness, and you will tend to find more examples/samples in this language than VB.NET.
With minor exceptions, you won't find that an API works in one language but not another. The ESRI APIs have no preference.