Ähhh, willst wirklich du ein ConsolenFenster öffnen und auf dessen Beendigung warten,
oder willst du ein ConsolenProgramm starten, welches eine Console anzeigt, und auf dessen Beendigung warten?
Letzteres ist ja das Standardvorgehen und extrem einfach zu lösen.
Programm starten, ShellExecuteEx/CreateProcess geben dir das Prozesshandle und dann warten, bis die Anwendung/der Prozess beendet wurde.