Visual Basic .NET and C# (it's not "C#.NET", it's "C#") are identical except for a few high-end features and the meaningless derp of syntax. They are not "totally different".
VB and C# are totally different. Seeing as, by definition, they are two, incredibly different languages.
No. You can, without significant effort, apply Reflector compiled C# and get VB.NET source out of it. You cannot do the same in a sensical way to F# code or IronPython or IronRuby. This is because a very large amount of the compilers for C# and VB.NET are shared code, even where their grammar is not.
(You do know what Reflector is, right...?)
The primary differences between VB.NET and C# are that C# supports static classes (doable in VB.NET via the Module construct but the semantics differ very slightly), the unsafe{} block, and checked/unchecked arithmetic operations. VB.NET loads an extra couple of library shims to enable the My namespace--itself just a wrapper around common static functions in other classes--and a couple of minor keyboard candy bits like inline date declaration. (Anonymous functions used to be C#-only, but have been added to VB.NET. Similarly, VB.NET used to late-bind objects where C# didn't, but C# 4.0 adds
dynamic which enables late binding.) Bearing in mind the extremely minor exceptions aforementioned, I will reiterate:
aside from the meaningless derp of syntax (and yes, it is meaningless), the languages emit identical CIL for the same instructions and decompose into virtually identical code paths for VB.NET's syntactic sugar. The "Handles" construct in VB.NET, for example, is parsed as a directive into the class's constructor in a manner identical to manual subscription of events in C#.
Syntax is not the primary relation of languages and its importance is minimal when the semantics and underlying operation are nearly identical.