Young,
This is in fact not of interest to ask in all those newsgroups you are cross
posting to.
This is typical language VB, therefore please cut of those newsgroups which
are not language.vb the next time.
I don't do that now to show others that I have asked this already to you.
Now your answer,
Running VB for Net is normally as fast as any (large) C++ or C# language.
However, to make conversion from VB to VB6 possible, it was needed to keep
the same behaviour as in VB6 (which is obviously slower then C++).
This behaviour is late (Type) binding (resolve types at runtime instead of
design time), think about the Var in VB6 to get an idea about this.
The simple trick is to set Option Strict to On in top of your programs or
easier in the Options (However, in fact is in top better because the Options
are an IDE part).
As you are using version 2008 and set then direct Option Infer to On, then
you get back a little bit of the VB6 behaviour but then with early (Type)
binding, but this only inside a method. This I write because because do you
have less to change (and this late sentence for the puritans).
It is easier for you to set it every time in top of a class (form whatever
you probably still call it), because then you can do it class by class.
The most problems you will encounter will be solved by this statement
"CType(TheVariable,TheType)" you see mostly the type in the error message
which shows up. (It is better to use Directcast instead CType in some
situations, but the result of that is so low that it is not important while
being busy with conversion).
I hope this helps a little bit,
Cor