Has intentado usar /k en lugar de /c como argumentos para cmd.exe?
cmd.exe /k ndstool.exe -l game.nds
Has intentado guardar la salida del comando en un archivo de texto ?
cmd.exe /c ndstool.exe -l game.nds > Salida.txt
Has intentado guardar tu secuencia de comandos en un .BAT y luego llamarlo desde tu programa?
Pero ya que estas haciendo una interfaz grafica, lo mejor seria que utilizaras la clase Process que esta en System.Diagnostics, y rediriges la salida a un RichtextBox, asi te evitarias abrir un CMD en una ventana independiente, y mostrarias los resultados del comando en tu Interfaz personalizada, si te interesa hacerlo asi, aqui te pongo un ejemplo:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Command As New Process 'Creamos la instancia Process
Command.StartInfo.FileName = "cmd.exe" 'El proceso en si es el CMD
Command.StartInfo.Arguments = "/c " & TextBox1.Text
'Aqui le damos los parametros /c y el nombre del archivo a ejecutar
'En tu caso sustituirias TextBox1.Text por "ndstool.exe -l game.nds"
Command.StartInfo.RedirectStandardError = True 'Redirigimos los errores
Command.StartInfo.RedirectStandardOutput = True 'Redirigimos la salida
Command.StartInfo.UseShellExecute = False
'Para redirigir la salida de este proceso esta propiedad debe ser false
Command.StartInfo.CreateNoWindow = True
'Para que no abra la ventana del CMD
Try
Command.Start()
Dim Output As String = Command.StandardOutput.ReadToEnd() _
& vbCrLf & Command.StandardError.ReadToEnd() 'Guardamos las salidas en un string
RichTextBox1.Text = Output 'Desplegamos la salida en nuestro RichTextBox
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
'En caso de cualquier error de ejecucion
End Try
End Sub
End Class
Con este codigo al presionar el boton el comando escrito en el textbox es ejecutado y te muestra la salida en el RichtextBox como cuando ejecutas el comando desde el simbolo del sistema.
Notas:
El ejemplo esta probado en Visual Studio 2008
Para probar el ejemplo creamos un nuevo proyecto de aplicacion de windows VB.net y agregamos los siguientes controles
Boton con el nombre Button1
Text box con el nombre TextBox1
Rich text box con el nombre RichTextBox1
El Formulario principal tiene el nombre Form1
En si son los nombres por defecto cuando colocas los controles, pero no esta de mas ponerlo como referencia
espero algo de esto te ayude amigo