Not at all. A String is an Object with more methods, you can cast from one to the other. Its the same object, just different ways of looking at it. But you cannot just cast an integer as, say, a double. Theres no way of looking at an integer which makes it look like a double. You have to convert the value of it.
I avoid using CType in VB because its designed to do both if need be, which is quite nice in a way but if you know what you want to do, why not do it explicitly and same those extra CPU cycles? To cast objects you have the DirectCast keyword, which (for casting objects) is faster than CType. To convert between value types you have the Convert types, which will also be faster than using CType.
Comes down to personal preference I suppose, but these are just my two pennies worth. I know the difference between casting and converting.