わざわざexceptを二つに分ける意図はそのコードでは分からないけど
本来キャッチする例外の種類は限定すべきできっと実コードでは想定される例外の違いでexceptを分けたりするんだろうと読み解けば
それで所望の動作にはなる

例外が生成される前提で>>728がしたいなら端からtry exceptしかなく
最初のコードはdelphi5でもコンパイルヒントが出ないだけで思い通りの動作はしない
分からないならtry文について十分な理解ができてないと思うぞ
finallyはブロックの外から見て例外がなかったことにならない

try except finally endという構文が欲しいという話は時々見るな