Being able to read VBNET is one thing.
Being able to read C# is one other thing.
Being able to know the difference between what is doable in C# and not in VBNET and vice-versa, is THE thing.
I'm a C# programmer with Assembler, C/C++ background and about 8 years of experience, and I have already used VB6 a little, enough to be able to debug code, etc. So VB syntax is nothing new to me.
However, when you know how to do something in C# using the lambda expressions, the predicates, etc. and try to bring this with you in VBNET, you might get a hard time trying what VBNET ends not offering at all.
The .NET Framework makes it easier in our situation since we're always talking .NET, the objects are the same, they do the same, and they all have the same behaviour. However, when using Linq and the .NET 3.5 features, you need to know for instance that VBNET doesn't support lambdas which don't return a value, you need to pass in the AddressOf Sub in order to do the same.
But that said, once you understand what you're doing in .NET, one may grow fluent in both easily enough to be at ease in C# and VBNET. Thus, you perhaps need to know that Microsoft's .NET façade language is C#. They tend to bring some more features in VBNET2010 from C# 4.0 so that these differences are no longer a matter of choosing C# against VBNET. Let's hope they succeed! =)