First of all, you don't create one programming language in another. You create a programming language and then write the compiler and/or interpreter in another language (or at least part of it). Creating the language itself means making decisions on syntax, deciding on keywords, how what structures should work, which paradigms you want to follow and so on. You can do that on paper if you like. Drawing pictures is probably helpful at this point too. And think about basic functions (such as function calls, variable declarations and input/output) long before you start thinking about XML parsing and graphics display. Those are normally done in libraries that may be delivered with the language but aren't part of the actual language definition. (They can therefore be written
in the language you created.)
When you have done that and want to write the compiler / interpreter you can do that in a few different ways. As you obviously want to somehow use VB.NET, building the compiler to run as a .NET language may be a good idea. There are many resources you can use to do that kind of stuff, buying a book (e.g.
this one) is probably a good idea.
CCI is probably also a good source. And generally just search for articles about compiler building. It's not an easy task but it's definitely possible if you put enough work into it.