If this is C++ and not C++/CLI, there is no "conversion", it simply makes no sense: the languages target different no-isomorphic platforms. In practice, through out UI, use the original code only as a reference for creating a new one. Before even trying to do it, review your decision again: do you really want this "translation"? Especially do VB.NET? Does it worth it? What are you going to gain? Give yourself a reasonable doubt.
If this is C++/CLI and all the code is manageable, consider the problem is already solved. Build the project and then use the output assembly to reverse-engineer it to VB.NET (or C#) code. How? One perfect open-sourcer tool is ILSpy:
http://en.wikipedia.org/wiki/.NET_Reflector[
^],
http://www.ilspy.net/[
^].
You can reasonably expect excellent quality of reverse-engineered code, if the quality of original code was good enough.
The .NET Reflector mentioned in the first article where ILSpy is also referenced, can be even better, but it is not open source and you will have to pay for it. I wouldn't.
If your C++ project is the mixed-mode one (managed+unmanaged), try to use mixed approach. :-)
[EDIT]
In response to "My original post is wrong. The original code for the Pong Clong project is written in Visual C# not C++ or C++/CLI":
Both VB.NET and C# target .NET. You can freely reference the assembly written in C# in the project written in VB.NET and visa versa. Besides, the method based on ILSpy will work perfectly and will give you excellent quality of code.
—SA