まあなんだかんだ言ってもgoto文がそこかしこに出てくるプログラムはイヤだけど、かといってgoto文を使わないとまともなプログラムを書けないってのには同意せざるを得ないね。

一番困るのがブロックを途中抜けする場合。
C++やVBは曲がりなりにもブロックを途中抜けする文があることはあるけど、Delphiにはないからその場合はイヤでもgoto文を使わざるを得ない。
たとえばこのようにね。

procedure Hogehoge;
label
ProcedureExit;
begin
なんたらかんたら
if なんたらかんたら then
begin
 なんたらかんたら
 goto ProcedureExit;
else
 なんたらかんたら
end;
なんたらかんたら
ProcedureExit:
end;