Hmmm... meinst Du mit "das Konsolenfenster komplett ersetzen", daß auch Interaktion möglich sein muß?
Für den Fall würde ich sogar wieder ein paar Schritte zurückgehen, das Programm weiterhin "normal" extern starten und dann per SetWindowParent (o.ä.) das Konsolenfenster in ein TPanel reinmogeln. Zumindest hab ich das mal so gemacht, als ich das auf die schnelle brauchte, weil eine Komponente, die ein interaktives Terminal anbietet, mir da fremd war (und noch ist)