ロックとトランザクション: トランザクション開始がレコードロック時

少々難解です。
Pervasiveでお使いの場合は、多分無関係だと思います。
OracleやSQL Serverをお使いの場合、頭の片隅にでも置いておかれると良いかもしれません。

タスク特性1オンラインタスクでは、タスク特性のトランザクション開始は、「L=レコードロック時」がデフォルトです。

しかし、この設定には注意が必要です。
それは、登録モードと修正モードとでは、トランザクションの開始タイミングが異なる可能性がある、ということです。

タスク特性2ロック方式も関連しますが、多くの場合、ロック方式は「O=入力時」(オンラインタスクのデフォルト)で使われていると思います。
このとき、修正モードでは、ユーザが入力を開始したタイミングでトランザクションが開始され、そのレコードがロックされます。
登録モードでは、ロックするレコードがありませんから、ユーザが入力を開始してもトランザクションは開始されません。

つまり、オンラインタスクのデフォルト設定では、レコード後処理を通るときに、修正モードではトランザクション開始されているので、そこ(レコード後処理)からコールされる子タスクやサブプログラムは、同一トランザクションとして処理されますが、登録モードのときは、レコード後処理からコールされる子タスクやサブプログラムは、各々独立したトランザクションとして処理されます。

文章で書いても、正しく伝わりにくいと思うので、検証用のサンプルプログラムを作成しました。
こちらから、どうぞ。