Why CodeModel API behave differently for C# & VB? Is this a defect in the CodeModel API? Is there any other way of getting the FullName for the Base Types OR Types which gives the actual type param information? Is there any other way using CodeModel to get the generic parameter information?
The VB and C# CodeModel implementations were written by different teams, with apparent slight differences in interpretation of interface documentation. The difference you have described here is far from the only one between the two. You may wish to report it as a bug at
http://connect.microsoft.com/VisualStudio/feedback/.
As for a workaround, the VB implementation uses an extender to retrieve generic base type information. e.g.:
Dim extender = yourClass.Extender("VBGenericExtender")
Dim baseTypeCount As Integer
extender.GetBaseTypesCount(baseTypeCount)
For i As Integer = 1 To baseTypeCount
Console.WriteLine(extender.GetBaseGenericName(i))
Next