IIRC the Microsoft.VisualBasic Namespaces purpose is partly to provide compatability with the Visual Basic runtime.... It should not be used unless absolutely necessary. IT provides a way of using Classic VB syntax to create code that compiles in VB.NET.
Not true. Microsoft.VisualBasic != Microsoft.VisualBasic.Compatibility.
To be clear, "the Microsoft.VisualBasic namespace contains the classes and
modules that constitute the Visual Basic .NET run-time library. The library
provides functions, methods, and properties you can use in your code. Each
module and class represents a particular category of functionality."  It
is an integral part of the framework that will not be deprecated until
VB.NET ceases to exist. The statements/functions you list as "dead" are
central fixtures to the VB language that are likewise here to stay and
should not be avoided, held in contempt, or otherwise denigrated.
The Microsoft.VisualBasic.Compatibility namespace, on the other hand, is not
part of the VB runtime library; it is not included in VB projects by default
and should never be included when doing new development. It is there only
for upgrade purposes, i.e. via the VB6 -> VB.NET upgrade tool.