>>204
(Q1)
まだ出てない方法としては、Application.OnIdleで処理を行う。
このイベントは、何かの処理が全て終わって入力を受け付け始める寸前に発生する。
何かの処理には起動も含まれるので、起動処理が完全に終わった時点で初回の呼び出しが発生する。
初回のイベント時に、次から呼び出されないようにフラグを立てたりApplication.OnIdle=nilとしておく必要あり。
このような再発生防止が必要なのは他のTForm.OnShowやOnActivateでも同じ。

(Q2)
Writelnの出力先になる標準出力があるのはコンソールアプリだけなので、
VCLフォームアプリケーションでWritelnを使いたければdprファイルの2行目に{$APPTYPE CONSOLE}を追加する。
ただしこの方法ではGUIから起動してもコマンドプロンプトが開くので、
それが嫌な場合はWin32APIのCreateToolhelp32SnapshotやAttachConsoleを調べて、
自身の親プロセスがコマンドプロンプトなら標準入力を開いて書き込みをするコードを自力で書く。